Window下使用OpenSSL生成證書(shū)實(shí)戰(zhàn)(親測(cè))
摘要: OpenSSL OpenSSL生成證書(shū)詳解 如何使用OpenSSL生成自簽證書(shū) Windows下使用OpenSSL生成自簽證書(shū)(親測(cè))一,前言經(jīng)常寫(xiě)博客的小伙伴兒都知道,,大家一般在前言里面會(huì)提到為什么寫(xiě)這篇博客,,而我這篇博客 主要是探討OpenSSL自簽名證書(shū),用于對(duì)安全性要求比較高的商業(yè)活動(dòng),。,。 二,探討前景:生成一對(duì) RSA 鑰匙,,公鑰采用 X,。509 進(jìn)行加密,私鑰采用 PKCS8 進(jìn)行加密,, 字節(jié)長(zhǎng)度為 1024 三,,準(zhǔn)備工作1,下載 OpenSSL 在 window 7 下的安裝包,可以從我網(wǎng)盤(pán)下載,,如果下載地址失效了,, 大家有需要可以給我留言,我非常相信大家的找資源能力,,但是我怕大家下載版本有問(wèn)題后,, 按照我的方法不行,我怕被打,!哈哈 https://yun.baidu.com/s/1gfPmtdL 2,,下載 OpenSSL 執(zhí)行命令時(shí)需要提供的配置文, 參考我的網(wǎng)盤(pán) https://yun.baidu.com/s/1bo0bHMn 四,,開(kāi)戰(zhàn)1,,執(zhí)行 OpenSSL 的安裝程序,例如我安裝在 D:\MySoftware\OpenSSL-Win64 2,,設(shè)置環(huán)境變量 OPENSSL_HOME = D:\MySoftware\OpenSSL-Win64 (注意:這里你需要把地址替換你安裝文件夾) Path = Path + ; + % + OPENSSL_HOME + % + \bin + ; (在配環(huán)境變量時(shí)一定要注意最后一個(gè) ; ) 3,,創(chuàng)建一個(gè)你將用來(lái)創(chuàng)建證書(shū)的目錄,例如我的是 F:\Test 4,,文件和目錄補(bǔ)齊(如果不補(bǔ)齊在自簽證書(shū)時(shí)會(huì)報(bào)找不到文件的錯(cuò)) 在你創(chuàng)建證書(shū)的目錄下,,手動(dòng)創(chuàng)建如下文件(文件作用附加在文件名后面) index.txt OpenSSL在創(chuàng)建自簽證書(shū)時(shí)會(huì)向該文件里寫(xiě)下索引 database.txt OpenSSL會(huì)模擬數(shù)據(jù)庫(kù)將一些敏感信息寫(xiě)在該文件里 serial.txt 創(chuàng)建該文件后,,請(qǐng)編輯在第一行寫(xiě)下 01 certs 文件夾,,目前沒(méi)什么用,僅僅只是我配置文件這樣寫(xiě) 注意: 這里提到的所有文件必須補(bǔ)齊,,并且文件名不得更改 ,! 將下載下來(lái)的 openssl.conf 文件拷貝到改目錄下 5,生成證書(shū)開(kāi)始(在此過(guò)程中,,我們假設(shè)自己就是專(zhuān)業(yè)的頒發(fā)證書(shū)的機(jī)構(gòu) CA) a,,生成 CA 根證書(shū),做簽名使用的,,因?yàn)槲覀兪亲约航o自己簽名嘛,! 生成 CA 根證書(shū)私鑰 genrsa 表示采用RSA算法生成根證書(shū)私鑰 -des3 表示使用3DES給根證書(shū)私鑰加密 1024 表示根證書(shū)私鑰的長(zhǎng)度,建議使用2048,,越長(zhǎng)越安全 openssl genrsa -des3 -out root.key 1024 這個(gè)時(shí)候會(huì)讓你輸入兩次根證書(shū)的密碼,,根證書(shū)嘛肯定是要保密的
b-1,生成根證書(shū)簽名請(qǐng)求文件 .csr,,如果你的根證書(shū)需要?jiǎng)e的簽名機(jī)構(gòu)來(lái)簽名,, 你就拿這個(gè)簽名請(qǐng)求文件給他,讓他們幫你簽名,,簽名完后,,他們會(huì)返回你一個(gè) .crt 的證書(shū), 如果你是這樣的做的,那你可以跳過(guò) 接下來(lái)的 c 步驟 openssl req -new -key root.key -out root.csr -key 這里需要指向我們上一步生成根證書(shū)私鑰 -out 這里就會(huì)生成我們的根證書(shū)簽名請(qǐng)求文件 c-1,,生成 CA 的自簽證書(shū)(如果我們自己扮演CA這個(gè)角色,,那么簽名請(qǐng)求文件就是我 們上步產(chǎn)生的 root.csr) openssl req -new -x509 -key root.csr -out root.crt -days 365 -config ../openssl.conf
這個(gè)時(shí)候會(huì)讓你輸入一些組織信息,請(qǐng)記住,,你現(xiàn)在輸入的信息和你接下來(lái)要簽名的信息一致
c-2,,我們也可以直接使用 CA 根證書(shū)私鑰來(lái)獲得自簽名的CA根證書(shū) openssl req -new -x509 -key root.key -out root.crt -days 365 -config ../openssl.conf d,同樣的道理生成服務(wù)器端私鑰 openssl genrsa -out server.key 1024
e,,生成服務(wù)器端簽名請(qǐng)求文件 openssl req -new -key server.key -out server.csr -config openssl.conf
同樣會(huì)讓你輸入一個(gè)組織信息,,記得跟根證書(shū)一致 f,利用 CA 進(jìn)行簽名證書(shū) openssl ca -in server.csr -out server.crt -keyfile root.key -cert root.crt -days 365 -config openssl.conf 到底我們的證書(shū)生成完成,!但是有些格式不是我們需要的,,請(qǐng)看接下倆格式轉(zhuǎn)換 6,常用格式轉(zhuǎn)換 a,,得到 pfx 格式的私鑰,,密鑰算法為 pkcs12 openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt b,從pfx文件中分離出 cer 格式的公鑰 openssl x509 -inform pem -in server.crt -outform der -out server_public.cer 五,,總結(jié)留下文章讓自己有個(gè)參考,,歡迎大家一起交流! QQ : 690649714 如果在使用過(guò)程中出現(xiàn)任何問(wèn)題,,可以參考我的博客同目錄下 OpenSSL 常見(jiàn)問(wèn)題
+ 關(guān)注 高級(jí)程序員 徐匯 粉絲 27 博文 84 碼字總數(shù) 27410 |
|
來(lái)自: 小于號(hào)的命運(yùn) > 《Openssl》