首页 > 代码库 > 如何用OpenSSL从https网站上导出SSL的CA证书?
如何用OpenSSL从https网站上导出SSL的CA证书?
我们在访问https的时候,对于有的程序需要提供访问网站的CA证书,这个时候客户端才能访问系统网站,比如使用TIBCO Business Workspace 5 HTTP send request activty 去访问Google API提供的REST 服务的时候,就需要我们提供www.googleapis.com网站的CA证书。一般来说,用两种比较常用的方式,第一种方式是通过浏览器访问这个网站,然后在网站的地址栏的右边有一个锁,可以通过点击这个锁来查看和导入证书,这种方式只适合那种网站可以在浏览器里面打开的应用(比如IE);第二种方式,也就说今天会介绍的方式,直接用OpenSSL的命名。本文以访问 https://developers.google.com/google-apps/calendar/v3/reference/acl/delete为例子
步骤1. 从下面的网站下载OpenSSL工具,并解压缩,然后找bin目录,在命令行窗口打开openssl.exe、
Window下的OpenSSL工具可以从下面的地址下载
http://code.google.com/p/openssl-for-windows/downloads/detail?name=openssl-0.9.8k_X64.zip&can=2&q=
步骤2. 在这个窗口中输入 s_client -showcerts -connect www.googleapis.com:443
将会看到类似下面的窗体
步骤3。把这些cmd窗口中的所有字符拷贝到一个临时文件里面,通过单击鼠标右键,选择 “Select ALL”(全选),并单击鼠标,
这样被选中的内容会自动复制到黏贴板
步骤4. 把在上面步骤复制的内容保存到一个文件中,在当前的当前的文件窗体中,我们将看到类似于Certificate Chain或者
BEGIN CERTIFICATE的关键字
步骤5 在----Begin CERTIFICATE------ 和 ----END CERTIFICATE------ 就是其中的一个证书之一
把----Begin CERTIFICATE------ 和 ----END CERTIFICATE------ 之间的字符串拷贝并复制到一个文本文件中
并根据证书的名字命名,后缀名可以为 ".cer", 比如,当前的证书的名字,我们可以在----Begin CERTIFICATE------
类似 CN=*.googleapis.com, *.googleapis.com就是证书的名字。所以当前证书可以命名为googleapis.com.cer
步骤6. 类似以步骤5,可以把其他的证书也单独拷贝到一个文件里面,并改成后缀名为当前证书
的名字+.cer 的后缀名。
步骤7. 打开相应的证书,我们以googleapis.com.cer为例,我们将看到下面的证书信息。