获取SSL证书的有效日期的几种方法.docx
《获取SSL证书的有效日期的几种方法.docx》由会员分享,可在线阅读,更多相关《获取SSL证书的有效日期的几种方法.docx(5页珍藏版)》请在冰点文库上搜索。
![获取SSL证书的有效日期的几种方法.docx](https://file1.bingdoc.com/fileroot1/2023-6/2/59fb9f76-5beb-4137-adc2-b562e2e616cf/59fb9f76-5beb-4137-adc2-b562e2e616cf1.gif)
获取SSL证书的有效日期的几种方法
获取SSL证书的有效日期的几种方法
V1.0
修订页
编号
章节名称
修订内容简述
修订日期
修订前
版本号
修订后版本号
修订人
批准人
1
创建全文
2011-5-9
V1.0
黄威
简介
openssl提供了SSL协议的一个开放源代码的实现,包含三部分:
ssl库,加解密库和命令行工具。
在命令行工具中s_client是一个以SSL协议连接远程服务器的客户端程序,该工具可以用于测试诊断。
虽然s_client只提供了一些基础功能,但是其内部具体实现中使用了ssl库的大部分接口。
(注:
s_client命令行的语法和常用参数的用途详见附录1)
运行要求
操作系统:
AIX或Linux
需要安装openssl软件,详见附件《Linux下安装openssl步骤》
操作步骤
s_client在SSL握手协议中的应用——获取证书的有效日期。
详见以下步骤:
(一)、提取服务器的证书
1)在linux平台下创建脚本retrieve-cert.sh并存入一下清单1.1中的内容。
获取服务器的证书内容。
清单1.1获取证书:
2)创建脚本GetEndDate.sh并存入清单1.2中的内容。
该脚本的输出内容就是服务器端的X509证书经过Base64编码后的内容并将脚本输出存入文件server.pem中。
清单1.2提取证书:
3)将脚本retrieve-cert.sh和GetEndDate.sh放在同一个目录下,执行GetEndDate.sh192.168.10.9(参数1为服务器IP,参数2为端口,如果没有参数2即默认值443),即可获取加载了SSL的Apache服务器192.168.10.9的证书,运行截图:
备注:
如果是直接用命令行获取Apache培训实验服务器端证书,提取到本地文件server.pem中,执行命令如下:
(二)、获取证书的有效到期日期
接下来有3种方法获取证书的有效到期日期
(备注:
openssl指令x509简介详见附录2)
1)方法一:
使用x509工具,查看根证书的具体内容,特别是证书签发者和持有者的身份,如清单2所示。
清单2解码根证书
运行截图:
(NotAfter行即显示的时证书的有效日期)
2)方法二:
用命令行直接打印证书的到期时间:
运行截图:
3)方法三:
如果能登陆服务器端,可直接查看server.crt:
[root@Apache_VMconf]#catserver.crt|grep"NotAfter"
运行截图:
(NotAfter行即显示的时证书的有效日期)
附录1:
s_client命令行的语法为:
openssls_client[-connecthost:
port>][-verifydepth][-certfilename][-keyfilename]
[-CApathdirectory][-CAfilefilename][-reconnect][-pause][-showcerts][-debug][-msg]
[-nbio_test][-state][-nbio][-crlf][-ign_eof][-quiet]
常用参数的具体用途如下:
-connecthost:
port:
指定远程服务器的地址和端口,如果没有该参数,默认值为localhost:
443;
-certfilename:
若服务器端需要验证客户端的身份,通过-cert指定客户端的证书文件。
-keyfilename:
指定私钥文件;
-verifydepth:
打开服务器证书验证并定义证书验证过程中的最大深度。
-showcerts:
显示服务器证书链;
-CAfilefilename:
指定用于验证服务器证书的根证书;
-state:
打印出SSL会话的状态。
附录2:
openssl简介-指令x509
用法:
opensslx509[-informDER|PEM|NET][-outformDER|PEM|NET]
[-keyformDER|PEM][-CAformDER|PEM][-CAkeyformDER|PEM]
[-infilename][-outfilename][-serial][-hash][-subject]
[-issuer][-nameoptoption][-email][-startdate][-enddate]
[-purpose][-dates][-modulus][-fingerprint][-alias]
[-noout][-trustout][-clrtrust][-clrreject][-addtrustarg]
[-addrejectarg][-setaliasarg][-daysarg]
[-signkeyfilename][-x509toreq][-req][-CAfilename]
[-CAkeyfilename][-CAcreateserial][-CAserialfilename]
[-text][-C][-md2|-md5|-sha1|-mdc2][-clrext]
[-extfilefilename][-extensionssection]
说明:
本指令是一个功能很丰富的证书处理工具。
可以用来显示证书的内容,转换其格式,给CSR签名等等。
由于功能太多,按功能分成几部分来讲。