ssl - 证书生成

标签 ssl encryption ssl-certificate

我需要为电子邮件签名创建一个证书。由于本地法规,我对证书和 key 有特定要求。

我根本不是证书专家,所以我完全不确定我需要购买哪种证书,是否需要CSR,如何创建 key 。

这些是要求:

签名:

  1. 哈希算法:SHA-256 或 SHA-512 (IETF RFC 5754)
  2. 签名算法:RSASSA-PSS (IETF RFC 4056)

加密:

  1. key 加密:RSAES-OAEP (IETF RFC 3447)
  2. 内容加密:AES-128 CBC 或 AES-192 CBC (IETF RFC 3565)。

RSA key 长度:至少2048位

Key-Usage:数字签名, key 加密

谁能解释我需要执行哪些步骤才能获得符合上述规定的 .cer 文件?

最佳答案

你需要:

  1. 获取 OpenSSL 命令行工具。
  2. 熟悉其整体命令行结构。
  3. 生成具有所需特征的 key 对。
  4. 生成具有所需特征的 CSR。
  5. 将 CSR(不是 key 对)提交给证书签名机构 (CA),声明它用于签署 prtpose,而不是用于 SSL。
  6. 再次通过 OpenSSL 工具将签名证书及其 key 链导入回 CSR 来自的相同文件。

关于ssl - 证书生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43512961/

相关文章:

java - 如何使用 BouncyCaSTLe 的 TLS Api 导入 keystore

ssl - 照片的 HTTPS URL

iphone - IOS - 如果文件太大而无法将其全部加载到内存中,我如何使用 AES 解密大文件?

c# - 使用 ProtectedData.Protect 时的 DataProtectionScope

ssl - 自签名CA和自签名证书的区别

spring - Jenkins 正在用它的系统属性更新我的 applicationContext.xml 文件?

java - 加密/安全通信 Android 应用 <-> REST Web 服务

ssl - .pem 和 .pb7、.p12 格式之间的区别

c - 使用 SSL 验证服务器(对等方)

ssl - 手动将连接设置为安全的 nginx