前言
在访问https的时候,对于有的程序需要提供访问网站的CA证书,这个时候客户端才能访问系统网站。一般来说有两种比较常用的方式,第一种方式是通过浏览器访问这个网站,然后在网站的地址栏的右边有一个锁,可以通过点击这个锁来查看和导入证书,这种方式只适合那种网站可以在浏览器里面打开的应用,第二种方式是直接用OpenSSL的方式。本文以访问 https://www.baidu.com 为例。
一、使用步骤
1.安装 OpenSSL
以 Ubunt16.04 为例,运行一下命令进行安装。
sudo apt-get install openssl
sudo apt-get install libssl-dev
2.运行OpenSSL
运行 OpenSSL 进入对应的窗口,然后在这个窗口中输入 s_client -showcerts -connect www.baidu.com:443,将会看到类似下面的窗口。
user@user-OptiPlex-3020:~$ openssl
OpenSSL> s_client -showcerts -connect www.baidu.com:443
CONNECTED(00000003)
depth=2 C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Organization Validation CA - SHA256 - G2
verify return:1
depth=0 C = CN, ST = beijing, L = beijing, OU = service operation department, O = "Beijing Baidu Netcom Science Technology Co., Ltd", CN = baidu.com
verify return:1
---
Certificate chain
0 s:/C=CN/ST=beijing/L=beijing/OU=service operation department/O=Beijing Baidu Netcom Science Technology Co., Ltd/CN=baidu.com
i:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Organization Validation CA - SHA256 - G2
-----BEGIN CERTIFICATE-----
MIIKLjCCCRagAwIBAgIMclh4Nm6fVugdQYhIMA0GCSqGSIb3DQEBCwUAMGYxCzAJ
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTwwOgYDVQQDEzNH
bG9iYWxTaWduIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g
RzIwHhcNMjAwNDAyMDcwNDU4WhcNMjEwNzI2MDUzMTAyWjCBpzELMAkGA1UEBhMC
Q04xEDAOBgNVBAgTB2JlaWppbmcxEDAOBgNVBAcTB2JlaWppbmcxJTAjBgNVBAsT
HHNlcnZpY2Ugb3BlcmF0aW9uIGRlcGFydG1lbnQxOTA3BgNVBAoTMEJlaWppbmcg
QmFpZHUgTmV0Y29tIFNjaWVuY2UgVGVjaG5vbG9neSBDby4sIEx0ZDESMBAGA1UE
AxMJYmFpZHUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwamw
rkca0lfrHRUfblyy5PgLINvqAN8p/6RriSZLnyMv7FewirhGQCp+vNxaRZdPrUEO
3.保存证书数据
在当前的窗口中可以看到类似于 Certificate Chain 或者 BEGIN CERTIFICATE 的关键字,在 Begin CERTIFICATE 和 END CERTIFICATE 就是其中的一个证书,把关键字之间的字符串拷到一个文本文件中,并根据证书的名字命名,后缀名可以为 “.cer”,比如当前证书的名字可以命名为 baidu.com.cer