我应该使用哪种加密AES / DES作为ssl证书的私钥?

时间:2014-01-02 15:28:20

标签: ssl openssl certificate rsa

我刚刚购买了comodo必备的通配符证书,他们让我生成csr来激活它。

据我了解,我需要:

  1. 生成RSA 2048位私钥
  2. 基于此生成CSR
  3. 如我所见,openssl genrsa命令接受不同的加密参数:

    • -des使用DES以cbc模式加密生成的密钥-des3使用DES以ede cbc模式(168位密钥)加密生成的密钥
    • -aes128,
    • -aes192,
    • -aes256

    我应该使用什么?

1 个答案:

答案 0 :(得分:11)

openssl genrsa命令的加密参数用于指定用于加密私钥的算法(使用您指定的密码)。

CSR(证书签名请求)包括您的公钥和一些其他公共信息,这些信息将包含在证书中。 CSR从不包含私钥。

因此,选择加密私钥的算法与CSR完全无关。选择你喜欢的任何东西AES变体和Triple-DES(-des3)应该是首选;这些天来DES is usually considered not secure。另请参阅why AES is more secure than DES。但我认为在这种特殊情况下的算法选择并不像使用强密码并保护它一样重要。

注意:请记住,如果使用密码保护私钥,则每次要访问私钥时都会提示您输入密码,例如启动Web服务器时。如果您忘记了密码,您的私钥将被丢失,您必须生成新密钥并申请新证书。您可以生成没有加密的私钥(没有密码):openssl genrsa -out filename.key 2048。也可以使用以下命令随时删除密码(实际上,有效地存储它未加密):openssl rsa -in encrypted.key -out unencrypted.key。你需要密码(系统会提示你输入密码)。