博客 > 【OpenSSL經(jīng)驗(yàn)分享】OpenSSL技巧和常見(jiàn)命令
瀏覽量:5751次評(píng)論:0次
作者:Claire時(shí)間:2019-09-06 03:37:23
OpenSSL是一個(gè)多用途的、跨平臺(tái)的密碼工具,能夠提供創(chuàng)建SSL套接層的庫(kù),以及一套用于管理SSL網(wǎng)站的強(qiáng)大的工具。以下是在使用OpenSSL時(shí),你可能需要執(zhí)行的一些常見(jiàn)的任務(wù)。
生成證書(shū)請(qǐng)求
獲取簽名SSL證書(shū)涉及到大量的業(yè)務(wù)驗(yàn)證流程。為了生成證書(shū)簽名請(qǐng)求(CSR),請(qǐng)執(zhí)行以下命令。
openssl req -new -newkey rsa:1024 -nodes -keyout key.pem -out req.pem
讓我們回顧一下命令:
這一命令將以交互方式運(yùn)行,并向你詢問(wèn)大量的問(wèn)題,請(qǐng)注意,你的證書(shū)機(jī)構(gòu)將會(huì)再次和交叉確認(rèn)你的答案,同時(shí)你的答案必須與有關(guān)你的公司的注冊(cè)信息的其他合法文檔相一致。以下是提交正確答案的一些技巧。
填寫(xiě)你的公司所在國(guó)家的國(guó)家代碼(兩個(gè)字母),如果你不確定使用哪個(gè)代碼,請(qǐng)咨詢wikipedia。
Country Name (2 letter code) [AU]:
美國(guó)州名,對(duì)于其他國(guó)家為大的管理區(qū)域:
State or Province Name (full name) [Some-State]:
城市
Locality Name (eg, city) []:
公司全名,請(qǐng)從你的公司注冊(cè)表中把這一名字復(fù)制過(guò)來(lái)。使用&而不是“和”,諸如這樣的一個(gè)差別可能會(huì)使你的請(qǐng)求遭到拒絕。
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
公司子部門(mén)或產(chǎn)品名
Organizational Unit Name (eg, section) []:
你的域名,如果是通配符證書(shū),使用星號(hào),像這樣:*.mycompany.com
Common Name (eg, YOUR name) []:
用證書(shū)顯示的電子郵件
Email Address []:
在新生成的請(qǐng)求上使用這一命令來(lái)再次確認(rèn)信息:
openssl req -in req.pem -noout -text
將名為key.pem的私有密鑰文件保存在一個(gè)安全的位置。之后它將被用來(lái)配置web服務(wù)器。應(yīng)當(dāng)將請(qǐng)求文件req.pem發(fā)送給你的證書(shū)機(jī)構(gòu),進(jìn)行簽名。
生成自我簽名密鑰
按以下步驟操作,你可以為一個(gè)開(kāi)發(fā)服務(wù)器生成自我簽名密鑰。
創(chuàng)建一個(gè)空目錄然后進(jìn)入它。執(zhí)行以下命令。請(qǐng)注意反向斜線(“\”)允許單條命令跨越若干行。在我們的例子中,它被用來(lái)適應(yīng)這個(gè)文件中的命令:
$ openssl req -x509 -days 365 -nodes -newkey rsa:1024 \
? ? ? ? ? ? ? -keyout key.pem -out cert.pem
你可以按enter建,將所有答案設(shè)為默認(rèn)值,除了這一個(gè):
Common Name (eg, YOUR name) []:
輸入用于開(kāi)發(fā)服務(wù)器的dns記錄,作為這個(gè)問(wèn)題的答案。
好了,兩個(gè)新的PEM文件就將創(chuàng)建好了,“cert.pem”包含你的證書(shū),而“key.pem”包含自我簽名密鑰。
測(cè)試SSL服務(wù)器
你可以使用在客戶端創(chuàng)建的OpenSSL來(lái)連接到web服務(wù)器,并顯示證書(shū)鏈。將服務(wù)器地址和端口替換為你自己的:
$ openssl s_client -connect www.facebook.com:443 -showcerts
以下是一個(gè)典型的輸出,其中包括了證書(shū)鏈:
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)
---
你可以將部分輸出復(fù)制到PEM文件中,并利用驗(yàn)證openssl命令對(duì)它們進(jìn)行進(jìn)一步檢查。
相關(guān)文章推薦
2025-06-03 16:11:30
2025-05-29 16:58:20
2025-05-28 15:34:20
2025-05-27 17:20:38
2025-05-27 11:53:22
熱門(mén)工具
標(biāo)簽選擇
閱讀排行
我的評(píng)論
還未登錄?點(diǎn)擊登錄