查看centos证书 openssl查看证书信息
很多朋友对于查看centos证书和openssl查看证书信息不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
CentOS下生成自签名的证书的方法详解
1.生成自签名的证书
通常要配置https的服务器,都需要一个由正式的CA机构认证的X509证书。当客户端连接https服务器时,会通过CA的共钥来检查这个证书的正确性。但要获得CA的证书是一件很麻烦的事情,而且还要花费一定的费用。因此通常一些小的机构会是使用自签名的证书。也就是自己做CA,给自己的服务器证书签名。
这个过程有两个主要的步骤,首先是生成自己的CA证书,然后再生成各个服务器的证书并为它们签名。我是用OpenSSL来生成自签名证书的。
第一步是制作CA的证书:
opensslgenrsa-des3-outmy-ca.key2048
opensslreq-new-x509-days3650-keymy-ca.key-outmy-ca.crt
这会生成my-ca.key和my-ca.crt文件,前者存放着使用my-ca.crt制作签名时必须的密钥,应当妥善保管。而后者是可以公开的。上面的命令为my-ca.key设定的有效期为10年。
用命令
opensslx509-inmy-ca.crt-text-noout
可以查看my-ca.crt文件的内容。
有了CA证书之后,就可以为自己的服务器生成证书了:
opensslgenrsa-des3-outmars-server.key1024
opensslreq-new-keymars-server.key-outmars-server.csr
opensslx509-req-inmars-server.csr-outmars-server.crt-sha1-CAmy-ca.crt-CAkeymy-ca.key-CAcreateserial-days3650
前两个命令会生成key、csr文件,最后一个命令则通过my-ca.crt为mars-server.csr制作了x509的签名证书。
需要注意的是,在执行上述第二个命令时,CommonName选项应当输入的是服务器的域名,否则在用户通过https协议访问时每次都会有额外的提示信息。
用命令
opensslx509-inmars-server.crt-text-noout
可以查看mars-server.crt文件的内容。
2.配置Apache服务器
首先,创建/etc/apache2/ssl目录,将刚刚制作的my-ca.crt、mars-server.key和mars-server.crt文件拷贝到这个目录中。
接着执行命令
a2emodssl
激活Apache的SSL模块,然后在/etc/apache2/sites-enable/中添加虚拟主机,这个过程与添加普通的虚拟主机类似,不同点在于该主机的端口应为443。配置如下:
NameVirtualHost*:443
ServerNamelocalhost
DocumentRoot/var/www
SSLEngineOn
SSLCipherSuiteHIGH:MEDIUM
SSLProtocolall-SSLv2
SSLCertificateFile/etc/apache2/ssl/mars-server.crt
SSLCertificateKeyFile/etc/apache2/ssl/mars-server.key
SSLCACertificateFile/etc/apache2/ssl/my-ca.crt
var/www>
Orderdeny,allow
Allowfromlocalhost
ServerNamelocalhost
DocumentRoot/var/www
var/www>Orderdeny,allow
Allowfromlocalhost
以上配置保证了用户在访问443和80端口时可以看到相同的内容,而仅仅是使用的协议不同。修改好配置后,便可以重启Apache服务器,这时需要输入mars-server.key的密码。用浏览器访问
这时应当看到一个弹出对话框,让你确认是否信任该站点的证书,选择信任后,便可以查看该站点的内容了。
由于大多数Apache服务器都是在服务器启动时自动启动,为了避免在启动Apache时输入密码,可以用以下命令生成不加密的mars-server.key文件:
opensslrsa-inmars-server.key-outmars-server.key.insecure
用新生成的mars-server.key.insecure代替原有的key文件即可。
怎样查看SSL证书的有效期
方法一:直接浏览器上查看
1、使用浏览器访问你的站点域名,然后单击地址栏上面的锁图标进行查看
2、点击“证书信息”进行查看
方法二:在服务端使用 Openssl工具进行查看
当服务端是搭建在Centos上,用 xshell或者 putty工具登录后,进入证书目录,使用 openssl命令进行查看:
[llmode@cert]# cd/usr/ssl/cert[llmode@cert]# openssl x509-in signed.crt-noout-dates
notBefore=Nov 21 15:13:14 2017 GMT
notAfter=Feb 19 15:13:14 2018 GMT
上面改成你自己证书的所在目录,证书名称也改成你自己服务端上证书的名称。
方法三:使用 php代码方法进行查看
如果你有多个可访问的域名,那么使用代码的方法进行查看就会容易很多,省得一个一个手动查看。
输出结果如下
上面就是如何查看SSL证书是否过期几种方法的介绍,一般来说最常用的方法就是直接在浏览器上进行查看了,方便快捷。
怎样查看ssl证书的有效期
查看SSL证书有效期的方法主要有三种。首先,你可以直接在浏览器上查看。例如,访问你的站点域名后,单击地址栏上的锁图标进行查看。其次,如果服务端在Centos上,你可使用OpenSSL工具进行查看,通过xshell或putty工具登录后,进入证书目录,使用openssl命令进行查看。最后,如果你有多个可访问的域名,可以使用PHP代码方法进行查看,代码可以自动获取证书有效期,避免手动查看的繁琐。通过这些方法,你可以轻易获取到SSL证书的有效期信息。记住,SSL证书的有效期越来越短,作为网站负责人,要密切关注证书有效期,在到期前重新安装新的证书,以确保网站安全加密。