私鑰生成證書
⑴ ssl證書的公鑰私鑰需要設置嗎
需要設置的,具體設置方法可以咨詢SSL證書提供商。
SSL證書的公鑰密碼體制分為三個部分,即公鑰、私鑰和加密解密演算法,顧名思義,加密是通過加密演算法和公鑰對明文傳輸數據進行加密,得到密文,加密過程是需要用到公鑰的。
解密是反過來,通過解密演算法和私鑰對密文進行解密,得到明文。解密過程需要用到解密演算法和私鑰。所以上文提到由公鑰加密的內容,只能由對應的私鑰進行解密,如果是公鑰加密的內容,不知道私鑰那是無法解密的,公鑰和私鑰保證了數據傳輸的安全性。
公鑰和演算法都是公開的,私鑰是保密的,是需要自己手動設置的。大家都用公鑰進行加密,但是只有私鑰的持有者才能解密。在實際的使用中,有需要的人會生成一對公鑰和私鑰,把公鑰發布出去給別人使用,自己保留私鑰。
數字證書是一個經證書授權中心數字簽名的包含公開密鑰擁有者信息以及公開密鑰的文件。最簡單的證書包含一個公開密鑰、名稱以及證書授權中心的數字簽名。所以ssl證書中肯定包含唯一匹配的公鑰和私鑰。網站擁有者向CA機構申請ssl證書時,證書請求文件中只包含公鑰,不包含私鑰。證書私鑰由網站保存,證書請求文件提交給CA機構進行認證和簽名後對外公開。
⑵ SSL中,公鑰,私鑰,證書的後綴名都是些啥
SSL證書後綴
CSR – Certificate Signing Request,即證書簽名請求,這個並不是證書,而是向權威證書頒發機構獲得簽名證書的申請,其核心內容是一個公鑰(當然還附帶了一些別的信息),在生成這個申請的時候,同時也會生成一個私鑰,私鑰要自己保管好.做過iOS APP的朋友都應該知道是怎麼向蘋果申請開發者證書的吧.
KEY– 通常用來存放一個RSA 公鑰或者私鑰,並非X.509證書,編碼同樣的,可能是PEM,也可能是DER.
CRT– CRT應該是certificate的三個字母,其實還是證書的意思,常見於*NIX系統,有可能是PEM編碼,也有可能是DER編碼,大多數應該是PEM編碼。本站提供的CRT格式等同於CER,等同於PEM。
PEM – Privacy Enhanced Mail的縮寫,以文本的方式進行存儲。打開看文本格式,以」—–BEGIN…」開頭, 「—–END…」結尾,內容是編碼. 查看PEM格式證書的信息:openssl x509 -in certificate.pem -text -noout Apache和*NIX伺服器偏向於使用這種編碼格式.
CER– 還是certificate,還是證書,常見於Windows系統,同樣的,可能是PEM編碼,也可能是DER編碼,大多數應該是DER編碼.
DER – Distinguished Encoding Rules的縮寫,以二進制方式進行存儲,文件結構無法直接預覽,查看DER格式證書的信息:openssl x509 -in certificate.der -inform der -text -noout Java和Windows伺服器偏向於使用這種編碼格式.
PFX/P12 – predecessor of PKCS#12,對*nix伺服器來說,一般CRT和KEY是分開存放在不同文件中的,但Windows的IIS則將它們存在一個PFX文件中,(因此這個文件包含了證書及私鑰)這樣會不會不安全?應該不會,PFX通常會有一個」提取密碼」,你想把裡面的東西讀取出來的話,它就要求你提供提取密碼,PFX使用的時DER編碼,如何把PFX轉換為PEM編碼?
JKS – 即Java Key Storage,這是Java的專利,跟OpenSSL關系不大,利用Java的一個叫」keytool」的工具,可以將PFX轉為JKS,當然了,keytool也能直接生成JKS。
⑶ 如何生成openssl證書
2. 生成Root CA私鑰與證書:
2.1 先生成RootCA私鑰--》使用私鑰生成CSR--》生成自簽名根證書。用來給二級CA證書簽名。
3. 生成二級CA 私鑰與證書:(假如有兩個二級CA, 分別負責管理伺服器端和客戶端證書)
3.1 先生成ServerCA私鑰--》使用私鑰生成CSR--》使用根證書簽名生成二級證書。用來給伺服器證書簽名。
3.2 先生成ClientCA私鑰--》使用私鑰生成CSR--》使用根證書簽名生成二級證書。用來給客戶端證書簽名。
4. 生成伺服器端與客戶端的私鑰與證書:
4.1 先生成ServerA私鑰--》使用私鑰生成CSR--》使用ServerCA證書簽名生成三級證書。
4.2 先生成ClientA私鑰--》使用私鑰生成CSR--》使用ClientCA證書簽名生成三級證書。
4.3 先生成ClientB私鑰--》使用私鑰生成CSR--》使用ClientCA證書簽名生成三級證書
。。。。可以生成N個客戶端證書證書結構:RootCA||-------ServerCA| || |--------ServerA||-------ClientCA||--------ClientA||--------ClientB||--------...|
5. 導出RootCA的根證書、伺服器端和客戶端的私鑰和證書。
導出時都使用pem格式。
RootCA.pem-------根證書(PEM )
ServerA.pem------伺服器端證書(PEM with Certificate chain)
ClientA.pem------客戶端證書(PEM with Certificate chain)
ClientB.pem------客戶端證書(PEM with Certificate chain)
ServerAKey.pem------伺服器端私鑰(PEM )
ClientAKey.pem------客戶端私鑰(PEM )
ClientBKey.pem------客戶端私鑰(PEM )
6.下面是最重要的一步:生成需要使用的JKS文件。keytool工具不能導入私鑰,需要利用到weblogic 提供的一個工具,需要把weblogic.jar加到CLASSPATH。
6.1 生成伺服器和客戶端的信任證書庫:
keytool -import -alias rootca -file RootCA.pem -keystore trust.jks
6.2 生成伺服器端身份密鑰庫:
java utils.ImportPrivateKey -keystore servera.jks -storepass 123456 -storetype JKS -keypass 123456 -alias servera -certfile ServerA.pem -keyfile ServerAKey.pem
6.3 生成客戶端身份密鑰庫:
java utils.ImportPrivateKey -keystore clienta.jks -storepass 123456 -storetype JKS -keypass 123456 -alias clienta -certfile ClientA.pem -keyfile ClientAKey.pem ...生成其他客戶端身份密鑰庫
7. keytool -list -v -keystore clienta.jks (servera.jks) 可以查看其中的證書鏈關系。
⑷ 那們知道數字證書的安全認證機制和公鑰私鑰的生成方式啊!
你自己做一個AAA伺服器 一個mial伺服器
裝兩個客戶端
看他們的認證過程
你就會很好的理解它的具體過程
實踐才能出真理
⑸ java使用keytool生成證書的時候怎們樣設置公鑰和私鑰還有keystore密碼是什麼
1.私鑰公鑰不是用戶自己輸入的,是RSA演算法自動生成的,而你輸入的密碼只是打開那個文件或內生成容的證書的密碼.
2.密碼為「changeit」,而如果嘗試幾次都不成功的話,就到$JAVA_HOME\jre\lib\security\目錄下去配就可以了
⑹ 怎樣根據已有的公鑰和私鑰生成數字證書
openssl genrsa -des3 -out server.key 1024
運行時會制提示輸入密碼,此密碼用於加密key文件(參數des3便是指加密演算法,當然也可以選用其他你認為安全的演算法.),以後每當需讀取此文件(通過openssl提供的命令或API)都需輸入口令.如果覺得不方便,也可以去除這個口令,但一定要採取其他的保護措施!
去除key文件口令的命令:
openssl rsa -in server.key -out server.key!
⑺ openss 命令行下生成ca證書的時候怎麼設置私鑰密碼,能讓私鑰密碼不是空的
可惜我不會,我也很想知道,支持
⑻ 我已經有一個SSL證書,但是私鑰怎麼生成啊求指教
您好!
SSL證書與私鑰是相互匹配的,如果您只有SSL證書卻沒有私鑰的話,請您重新申請SSL證書。版生成CSR文件同時會生權成密鑰KEY文件(私鑰生成可以直接「CSR文件生成」各大搜索引擎都可以找到工具)!非常重要,請把生成好的CSR文件和KEY文件下載到電腦妥善保存,CSR和KEY文件隨機生成,如果丟失無法找回,只能重新發出申請請求。
概述:當申請者申請SSL證書時,生成了CSR文件同時生成KEY私鑰文件。申請者將CSR文件提交至CA機構SSL證書頒發機構,從而就生成了SSL證書公鑰文件。如果實在不行也可以找到Gworg申請SSL證書,會將這些文檔整個提供。
簡述申請SSL證書流程:
一、CSR請求文件生成(文件包括:私鑰KEY與CSR文件)
二、提供CSR文件給SSL證書頒發機構
三、按照固定認證完畢後,獲得SSL證書
⑼ 導出私鑰 數字證書
估計你安裝時可能選了「私鑰不可導出」;
所以最好能找到你當時下載的證書原文件