2014-01-17 121 views
1

我想創建一個帶有主題密鑰標識符的RSA算法密鑰大小2048的自簽名證書。我知道我們在openssl.conf中做了一些默認更改。我想改變什麼?使用主題密鑰標識符創建自簽名證書

genrsa -des3 -out mcedt.key 2048 
req -new -key mcedt.key -out mcedt.csr 
CN = server.test , OU =, O =, L = Toronto, S = ontario , C = can 
x509 -req -days 365 -in mcedt.csr -signkey mcedt.key -out mcedt.crt 
pkcs12 -export -in mcedt.crt -inkey mcedt.key -out mcedt.pfx 
+0

你好,我看你一直在使用MCEDT。你使它正常工作嗎? –

+0

[如何使用openssl創建自簽名證書?](http://stackoverflow.com/questions/10175812/how-to-create-a-self-signed-certificate-with-openssl)可能有重複。確保'subjectKeyIdentifier = hash'位於CONF文件的'[x509_ext]'區域。你也應該包含一個權限密鑰標識符。爲此,'authorityKeyIdentifier = keyid,issuer'。 – jww

回答

2

您可以創建一個有以下信息的擴展文件(extensions.cnf):由OpenSSL的提到

subjectKeyIdentifier=hash 

這確實是一個字符串的擴展,可以採取兩個可能的值。 可能會自動遵循 RFC3280中的指導或者給出包含擴展值的十六進制字符串。強烈建議不要使用十六進制字符串的使用 。

那麼你應該改變

x509 -req -days 365 -in mcedt.csr -signkey mcedt.key -out mcedt.crt 

x509 -req -days 365 -extfile extensions.cnf -in mcedt.csr -signkey mcedt.key -out mcedt.crt 
+0

嗨,默認情況下在OpenSSL.conf文件中有擴展名。不是嗎? – Madhavan

+0

是的,您可以使用OpenSSL中的默認設置並取消註釋/修改您需要的擴展名,然後將其路徑作爲文件名傳遞。但我建議你最好擁有自己的或者OpenSSL的副本。 –

+0

順便說一句,如果它的工作只是接受答案,以便其他人會知道它的工作:) –