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

标签 ssl openssl certificate rsa

<分区>

我刚买了comodo essential wildcard证书,他们让我生成csr来激活它。

据我了解,我需要:

  1. 生成RSA 2048位私钥
  2. 据此生成 CSR

如我所见,openssl genrsa 命令接受不同的加密参数:

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

我应该用什么?

最佳答案

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

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

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

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

关于ssl - 我应该为 ssl 证书的私钥使用哪种加密 AES/DES?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20886145/

相关文章:

ssl - 覆盖 onReceivedSslError 不适用于 Android KitKat Web View

Android 尝试信任自签名证书,出现无对等连接错误

openssl - openssl无法生成具有有效别名的pfx

Java SSL : how to disable hostname verification

iOS:我的 iPhone 应用程序能否访问 iPhone 设备/设备信任库的可信 CA 证书?

spring-boot - 来自 EKS 集群 nginx SSL 终结器的错误证书

ssl - OpenSSL 识别 "bad certificate"的原因

c - OpenSSL/OCSP 装订;如何在传递给 SSL_CTX_set_tlsext_status_cb(...) 的回调中访问 SSLContext?

c# - dotnet-passbook 中 ComputerSignature 失败的原因

c# - 当您可以保护服务器 (IIS) 时,为什么还要使用 HTTPS 保护网站?