博客 > 【OpenSSL经验分享】OpenSSL技巧和常见命令
浏览量:5305次评论:0次
作者:Claire时间:2019-09-06 03:37:23
OpenSSL是一个多用途的、跨平台的密码工具,能够提供创建SSL套接层的库,以及一套用于管理SSL网站的强大的工具。以下是在使用OpenSSL时,你可能需要执行的一些常见的任务。
生成证书请求
获取签名SSL证书涉及到大量的业务验证流程。为了生成证书签名请求(CSR),请执行以下命令。
openssl req -new -newkey rsa:1024 -nodes -keyout key.pem -out req.pem
让我们回顾一下命令:
这一命令将以交互方式运行,并向你询问大量的问题,请注意,你的证书机构将会再次和交叉确认你的答案,同时你的答案必须与有关你的公司的注册信息的其他合法文档相一致。以下是提交正确答案的一些技巧。
填写你的公司所在国家的国家代码(两个字母),如果你不确定使用哪个代码,请咨询wikipedia。
Country Name (2 letter code) [AU]:
美国州名,对于其他国家为大的管理区域:
State or Province Name (full name) [Some-State]:
城市
Locality Name (eg, city) []:
公司全名,请从你的公司注册表中把这一名字复制过来。使用&而不是“和”,诸如这样的一个差别可能会使你的请求遭到拒绝。
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
公司子部门或产品名
Organizational Unit Name (eg, section) []:
你的域名,如果是通配符证书,使用星号,像这样:*.mycompany.com
Common Name (eg, YOUR name) []:
用证书显示的电子邮件
Email Address []:
在新生成的请求上使用这一命令来再次确认信息:
openssl req -in req.pem -noout -text
将名为key.pem的私有密钥文件保存在一个安全的位置。之后它将被用来配置web服务器。应当将请求文件req.pem发送给你的证书机构,进行签名。
生成自我签名密钥
按以下步骤操作,你可以为一个开发服务器生成自我签名密钥。
创建一个空目录然后进入它。执行以下命令。请注意反向斜线(“\”)允许单条命令跨越若干行。在我们的例子中,它被用来适应这个文件中的命令:
$ openssl req -x509 -days 365 -nodes -newkey rsa:1024 \
-keyout key.pem -out cert.pem
你可以按enter建,将所有答案设为默认值,除了这一个:
Common Name (eg, YOUR name) []:
输入用于开发服务器的dns记录,作为这个问题的答案。
好了,两个新的PEM文件就将创建好了,“cert.pem”包含你的证书,而“key.pem”包含自我签名密钥。
测试SSL服务器
你可以使用在客户端创建的OpenSSL来连接到web服务器,并显示证书链。将服务器地址和端口替换为你自己的:
$ openssl s_client -connect www.facebook.com:443 -showcerts
以下是一个典型的输出,其中包括了证书链:
CONNECTED(00000003)
depth=1 O = CA, OU = "CA", OU = CA, OU = CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
0 s:/C=US/ST=California/L=Palo Alto/O=mysite/CN=mysite.com
i:/O=CA/OU=CA/OU=CA/OU=CA
-----BEGIN CERTIFICATE-----
MIIDnzCCAwigAwIBAgIQCSGX4cDpzQPaNSQ2VhCGgTANBgkqhkiG9w0BAQUFADCB
ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy
A .... MANY LINES LIKE THAT .... .... MANY LINES LIKE THAT ....
gjRaROuWGxfY25KebCQpoBW2PJp3S1JmqHHyxjk4mzr+tzWK0Qn+tlBUy9igtkIh
VybjO+AxBZve1qyJIsVraz8wrw==
-----END CERTIFICATE-----
1 s:/O=CA/OU=CA/OU=CA/OU=CA
i:/C=US/O=CA/OU=CA
-----BEGIN CERTIFICATE-----
MIIDgzCCAuygAwIBAgIQRvzrurTQLw+SYJgjP5MHjzANBgkqhkiG9w0BAQUFADBf
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT
LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
A .... MANY LINES LIKE THAT .... .... MANY LINES LIKE THAT ....
OfamggNlEcS8vy2m9dk7CrWY+rN4uR7yK0xi1f2yeh3fM/1z+aXYLYwq6tH8sCi2
6UlIE0uDihtIeyT3ON5vQVS4q1drBt/HotSp9vE2YoCI8ot11oBx
-----END CERTIFICATE-----
---
Server certificate
subject=/C=US/ST=California/L=Palo Alto/O=mysite/CN=mysite.com
issuer=/O=CA/OU=CA/OU=CA/OU=CA
---
No client certificate CA names sent
---
SSL handshake has read 2007 bytes and written 343 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 1024 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : RC4-MD5
Session-ID: 244BE55....48F793
Session-ID-ctx:
Master-Key: 18674D2....B3465946941C0C77DF2DE
Key-Arg : None
PSK identity: None
PSK identity hint: None
Start Time: 1325335498
Timeout : 7200 (sec)
Verify return code: 20 (unable to get local issuer certificate)
---
你可以将部分输出复制到PEM文件中,并利用验证openssl命令对它们进行进一步检查。
相关文章推荐
2025-01-14 15:44:13
2025-01-13 15:42:26
2025-01-07 15:38:22
2024-12-26 15:45:31
2024-12-25 15:21:42
热门工具
标签选择
阅读排行
我的评论
还未登录?点击登录