什么是SSL证书中的sct列表?

问题描述

什么是SSL证书中的sct列表?我已经在Google的SSL证书中看到它。 以及如何使用openssl将其添加到证书中?


OUTPUT_MEMORY_MODEL = NAMESPACE.model("OutputMemory",dict(
    totalSize=fields.Integer(description='total memory size in MB',example=1024),freq=fields.Integer(description='Speed of ram in mhz',example=800),distribution=flask_utils.fields.nested(
        NAMESPACE.model(
            "distributions",{
                "*": fields.Wildcard(
                    # disTRIBUTION_MODEL is taken from prevIoUs snippet
                    fields.nested(disTRIBUTION_MODEL)
                )
            }
        )
    )
))

解决方法

这是“签名证书时间戳记”的列表。它们是certificate transparency中定义的RFC 6962的一部分。

SCT中包含的数据如下(以您的一个为例):

  • 日志ID e712f2b0377e1a62fb8ec90c6184f1ea7b37cb561d11265bf3e0f34bf241546e(恰好是Let's Encrypt Oak2020 log
  • 发布日期Wednesday,‎15 ‎July,‎2020 5:29:23 PM
  • 哈希算法SHA256
  • 签名算法ECDSA
  • 签名数据304602210096c52ed8da6b4d3babfca5fdd1f75837fdd1a7e52eb9921ae5427cc33a9151ba022100e02b680bf63fd773b280c1f10c35de25bc6ba09423f8057819b40e9708a9dbd2

CA颁发证书时,它将使用一个或多个CT日志(可证明记录证书颁发的公开运行的服务器)记录证书颁发。

SCT指示发行发生的时间,记录在哪个日志中以及如何查找(使用签名数据)。为了验证信息是否正确,客户端应验证日志中的证书与您要验证的证书匹配。

除非您碰巧正在运行公共证书颁发机构,否则您不应在发行的证书中包括此内容。自签名证书不会提交到CT日志。