linux使用openssl生成.crt.key.keystore
更新時(shí)間:2026年04月17日 14:40:08 作者:搬磚的夢(mèng)先生
文章主要詳細(xì)介紹了使用`ssl.cncnf`生成RSA密鑰、根據(jù)`key`和`cnf`生成CRT、生成自簽證書、查看`.crt`詳細(xì)信息以及生成`keystore`的方法,這些操作主要用于SSL證書的生成與配置,確保網(wǎng)絡(luò)通信的安全性
新建一個(gè)ssl.cnf
[req] distinguished_name = req_distinguished_name req_extensions = v3_req [req_distinguished_name] countryName = CN stateOrProvinceName = BeiJing localityName = BeiJing organizationName = GS Ltd ### 公司縮寫 Ltd organizationalUnitName = GS ### 公司縮寫 commonName = 192.168.1.1 commonName_max = 64 [v3_req] basicConstraints = CA:TRUE subjectAltName = @alt_names [alt_names] #根據(jù)需要可以添加多個(gè),我在測(cè)試時(shí)使用內(nèi)網(wǎng)IP,一直提示hostname not verified , #后來(lái)在這里添加了自己的ip就可以了 IP.1 = 192.168.1.1 IP.2 = 192.168.1.2
生成key
[root@192-168-1-1 ssl] openssl genrsa -des3 -out ssl.key 4096 Generating RSA private key, 4096 bit long modulus ................................................................................++ e is 65537 (0x10001) Enter pass phrase for ssl.key: ##輸入密碼 123456 Verifying - Enter pass phrase for ssl.key: ## 再次輸入密碼 123456
- genrsa:產(chǎn)生rsa密鑰命令
- -out:輸出路徑
根據(jù)key和cnf生產(chǎn)crt
[root@192-168-1-1 ssl]# openssl req -new -x509 -days 365 -key ssl.key -out ssl.crt -extensions v3_req -config ssl.cnf Enter pass phrase for ssl.key: ##輸入key的密碼 123456 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- CN []:CN BeiJing []:BeiJing BeiJing []:BeiJing GS Ltd []:GS Ltd GS []:GS 192.168.1.1 []:192.168.1.1
- -new:表示生成一個(gè)新證書簽署請(qǐng)求
- -x509:專用于CA生成自簽證書,如果不是自簽證書則不需要此項(xiàng)
- -key:用到的私鑰文件
- -out:證書的保存路徑
- -days:證書的有效期限,單位是day(天),默認(rèn)是openssl.cnf的default_days
查看.crt的詳細(xì)信息
openssl x509 -in ssl.crt -noout -text
生產(chǎn)keystore
[root@192-168-1-1 ssl]# openssl pkcs12 -export -in ssl.crt -inkey ssl.key -out ssl.p12 -name ssl -CAfile ssl.crt -caname root -chain Enter pass phrase for ssl.key: ##輸入key的密碼 123456 Enter Export Password: ##輸入密碼 123456 Verifying - Enter Export Password: ##輸入密碼 123456 [root@192-168-1-1 ssl]# keytool -importkeystore -v -srckeystore ssl.p12 -srcstoretype pkcs12 -srcstorepass 123456 -destkeystore ssl.keystore -deststoretype jks -deststorepass 123456 正在將密鑰庫(kù) ssl.p12 導(dǎo)入到 ssl.keystore... 已成功導(dǎo)入別名 ssl 的條目。 已完成導(dǎo)入命令: 1 個(gè)條目成功導(dǎo)入, 0 個(gè)條目失敗或取消 [正在存儲(chǔ)ssl.keystore] Warning: JKS 密鑰庫(kù)使用專用格式。建議使用 "keytool -importkeystore -srckeystore ssl.keystore -destkeystore ssl.keystore -deststoretype pkcs12" 遷移到行業(yè)標(biāo)準(zhǔn)格式 PKCS12。 [root@192-168-1-1 ssl]# keytool -importkeystore -srckeystore ssl.keystore -destkeystore ssl.keystore -deststoretype pkcs12 輸入源密鑰庫(kù)口令: 已成功導(dǎo)入別名 ssl 的條目。 已完成導(dǎo)入命令: 1 個(gè)條目成功導(dǎo)入, 0 個(gè)條目失敗或取消 Warning: 已將 "ssl.keystore" 遷移到 Non JKS/JCEKS。將 JKS 密鑰庫(kù)作為 "ssl.keystore.old" 進(jìn)行了備份。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu18.04設(shè)置共享文件夾方式(解決/mnt目錄下沒(méi)有hgfs目錄)
這篇文章詳細(xì)介紹了如何在Ubuntu虛擬機(jī)和Windows系統(tǒng)之間共享文件夾,并提供了具體步驟,包括創(chuàng)建共享文件夾、配置虛擬機(jī)設(shè)置、在Ubuntu中查看共享文件夾、解決掛載問(wèn)題以及設(shè)置開(kāi)機(jī)自動(dòng)掛載2025-12-12
Apache偽靜態(tài)(Rewrite).htaccess文件詳解與配置技巧
Apache偽靜態(tài)(Rewrite).htaccess是一個(gè)純文本文件,它里面存放著Apache服務(wù)器配置相關(guān)的指令,主要的作用有:URL重寫、自定義錯(cuò)誤頁(yè)面、MIME類型配置以及訪問(wèn)權(quán)限控制等2025-03-03
linux服務(wù)器ubuntu定時(shí)任務(wù)cron設(shè)置每秒執(zhí)行
這篇文章主要介紹了linux服務(wù)器ubuntu定時(shí)任務(wù)cron設(shè)置每秒執(zhí)行,使用 cron 時(shí),有一些注意事項(xiàng)可以幫助你確保任務(wù)按預(yù)期執(zhí)行,并減少潛在的問(wèn)題,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-02-02

