openssl密钥生成和证书管理

本文详细介绍了使用OpenSSL进行TLS服务器配置的相关步骤,包括生成RSA和ECDSA密钥,创建证书签名请求(CSR)以及自签名证书的签发。重点讨论了密钥算法的选择、密钥长度的安全性以及密码短语的作用。同时,还展示了如何从现有证书创建CSR以及无人值守的CSR生成方法。
摘要由CSDN通过智能技术生成

密钥和证书管理

因为他们希望配置和运行一个web服务器,支持SSL,大多数用户转向使用实例。包含三部:

(1)生产私有key

(2)发送一个csr

(3)安装CA提供的证书

key生成

准备运行一个TLS服务器的第一步是生成一个私钥。在您开始以前,你决定:

  1. key算法
    OpenSSL支持RSA,DSA,ECDSA和EdDSA密钥算法,但并非全部在实践中很有用。 例如,DSA已过时,而EdDSA尚未得到广泛支持。这使我们可以使用RSA和ECDSA算法在我们的证书中使用。
  2. key长度
    默认密钥大小可能不安全,这就是为什么您应该始终显式设置密钥的原因,配置密钥长度。 例如,RSA密钥的默认值曾经是512位,很不安全。如果您今天在服务器上使用了512位密钥,那么入侵者可能会抢走您的512位密钥。证书并使用蛮力恢复您的私钥,之后她可能会冒充你的网页。 如今,已将2,048位RSA密钥视为安全的,或将256位用于ECDSA。
  3. 密码
    使用带有密钥的密码短语是可选的,但强烈建议使用。受保护的钥匙可以安全地存储,运输和备份。另一方面,这些密钥是不便,因为没有密码就无法使用它们。例如,每次您希望重新启动Web服务器时,都可能会要求输入密码。对于大多数人来说,要么这太不方便,要么会带来不可接受的可用性影响。此外,在生产中使用受保护的密钥实际上并不会增加安全性很多。这是因为一旦激活,私钥将保持不受保护程序内存中;可以到达服务器的攻击者只要多付出些努力可以从那里获取密钥。因此,密码短语应仅被视为一种机制当生产系统上未安装私钥时,用于保护私钥。如果你需要更好的生产安全性,则应投资硬件解决方案。

要生成RSA密钥,请使用以下genpkey命令:

$ openssl genpkey -out fd.key \
-algorithm RSA \
-pkeyopt rsa_keygen_bits:2048 \
-aes-128-cbc
..........................................+++++
...................................................................+++++
Enter PEM pass phrase: ************
Verifying - Enter PEM pass phrase: ************

在这里,我指定了用AES-128保护密钥。 您也可以使用AES-256(-aes-256-cbc选项),但最好不要使用其他算法(例如DES,3DES,和SEED)

使用genpkey命令时,生成的私钥以PKCS#8格式存储,该格式只是文本,看起来并不多:

$ cat fd.key
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFLTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIhoRNbw0td8kCAggA
MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAECBBDFSl1XihviVZjciewGaX2IBIIE
0AwdC4Lo7ifCchS053DpFqfmc3zpyykHCF+Zxw5lEiGUM1u8+N8UiZcvB84Dq9oO
5/uYkQxAbMHzCWglHMDq/9rhvKKpj9lpQOg7lVw5ootz/iyNlE//KICqaM0Ynj5l
MUpuugOPfPLwXhlzxDCfPsSCYaB8E+r7cKVLFnMY2XtEq4M/1xB
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值