证书各种相关概念-再次说明

发布时间 2023-07-19 18:17:46作者: 易先讯

CA

CA含义:

  • 证书颁发机构(Certificate Authority),也称为证书签发机构。它是一个可信任的实体,负责签发、管理和验证数字证书的机构。

如何设置自己的CA:

  • 规划CA架构
  • 构建基础设施
  • 安全策略和流程
  • 生成根证书
  • 定期更新和审计
  • 分发证书
  • 保护私钥和密钥

数字证书

含义

  • 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件=>戳+身份信息
  • 数字证书是用于进行安全通信和身份验证的重要工具
  • 最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名
  • 其作用类似于司机的驾驶执照或日常生活中的身份证

如何制作

  • 数据签名+证书原信息

理解:

  • 要理解数字证书,同样只要搞懂两个问题即可
    • 数字证书是什么东西?其实它就是一个 .crt 文件
    • 数字证书是谁颁发的?由权威证书认证机构颁发,一般我们简称为 CA 机构
    • 数字证书如何申请的?或者说如何颁发的?

数字签名

含义

  • 摘要经过私钥的加密后,便有了一个新的名字 -- 数字签名

  • 签名 是在发送方,这是一个加密的过程。

    验签 是在接收方,这是一个解密的过程。

目的

  • 防止数据篡改(hash一致性)

如何制作

  • CA 拥有非对称加密的私钥和公钥。
  • CA 对证书明文信息进行 hash。
  • 对 hash 后的值用私钥加密,得到数字签名。

根证书-数字证书的起点

含义

  • 根证书是CA体系的最高级别,是信任链的起点
  • 根证书由CA自身创建并签署
  • 您可以使用工具如OpenSSL来生成根证书

目的:

  • 用于签发其他证书
  • 用于验证由该CA签发的其他证书的有效性
  • 根证书通常被内置在操作系统、浏览器或其他应用程序中,作为受信任的根证书机构,当任何由该CA签发的证书出现时,可以通过验证其签名链与已知的根证书进行比对,从而建立信任

与数字证书关系

  • 当一个实体(如网站)被颁发一个数字证书时,该证书将包含一个或多个签名链,这些签名链追溯到一个受信任的根证书。
  • 验证数字证书的有效性时,使用受信任的根证书的公钥对证书进行验证。
  • 如果链中的每个证书都通过了验证,并且最终可以追溯到受信任的根证书,那么该数字证书将被视为有效和可信任的。

如何制作

  • 生成私钥:首先,您需要生成用于根证书的私钥。可以使用工具如OpenSSL来生成私钥。在命令行中输入以下命令:

    openssl genpkey -algorithm RSA -out root.key
    

    这将生成一个RSA私钥文件 “root.key”。

  • 创建根证书签名请求(CSR):使用私钥生成根证书签名请求。CSR包含了您的CA的详细信息和公钥。在命令行中输入以下命令:

    openssl req -new -key root.key -out root.csr
    

    这将生成一个CSR文件 “root.csr”。

  • 自签名根证书:使用私钥和CSR自签名生成根证书。在命令行中输入以下命令:

    openssl x509 -req -in root.csr -signkey root.key -out root.crt
    

    这将使用您之前生成的私钥和CSR生成一个自签名的根证书文件 “root.crt”。

  • 设置证书相关信息:在生成根证书时,您需要填写一些关键的信息,包括组织名称、通用名称(通常是您的CA名称)、有效期限等。确保提供准确的信息,并注意设置一个适当的证书有效期限。

  • 在上述步骤完成后,您将获得一个包含私钥和自签名根证书的文件。根证书是您CA体系的最高级别,用于签署其他证书。请确保妥善保管私钥并限制其访问权限,以确保根证书的安全性

  • 自签名根证书在您的环境中被认为是不受信任的证书。如果您希望根证书被广泛信任,您可以考虑将其根证书部署到受信任的证书存储库中,并确保其受到受信任的根证书机构的支持。

CSR

含义

  • CSR是Certificate Signing Request的英文缩写,即证书签名请求文件

用法

  • 当申请者申请数字证书时,CSP(加密服务提供者)生成私钥,同时也生成了CSR文件
  • 申请者将CSR文件提交至Certificate Authority (CA)机构后,CA机构使用其根证书私钥签名,从而就生成了数字证书

生成方法