gpt4 book ai didi

ssl - Hyperledger Fabric 节点 TLS 证书中的 key 用法

转载 作者:行者123 更新时间:2023-12-04 22:37:10 25 4
gpt4 key购买 nike

我正在使用 Fabric CA 在 Hyperledger Fabric 中生成证书。我正在传递一个自签名证书作为 HLF 中注册和 TLS 证书颁发的根证书。它用于测试目的,因此使用相同的 Fabric CA(单一根证书)来颁发注册和 TLS 证书。根证书有以下 Key Usages :

X509v3 Key Usage: critical
Digital Signature, Certificate Sign, CRL Sign
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
在节点注册证书中,我有以下 Key Usages :
X509v3 Key Usage: critical
Digital Signature
现在,对于 TLS 证书,我运行 fabric-ca-client enroll命令并通过 --enrollment.profile tls作为调用的参数之一。当我解码节点 TLS PEM 证书时,我得到以下 Key Usages :
X509v3 Key Usage: critical
Digital Signature, Key Encipherment, Key Agreement
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
现在,我指的是一个 RFC here识别 椭圆曲线密码学主题公钥信息 .在第 3 节中,我读到 Key Encipherment不是椭圆曲线证书的有效 key 使用扩展。通过更多的研究,我还发现, Key Encipherment用于对称 key 加密(如果我错了,请纠正我)。
现在,我的问题是:
  • 为什么 Fabric CA 添加 Key Encipherment如果不符合 ECC RFC 标准,作为节点 TLS 证书中的 key 用法?
  • 在椭圆曲线证书和 key 的情况下,TLS 通信实际上是如何发生的?
  • 最佳答案

    Fabric CA 目前支持颁发 EC 和 RSA 证书。默认 tls profile 设置两者所需的 key 用法/扩展 key 用法。
    如果你想限制使用,你可以编辑tls fabric-ca-server-config.yaml 中的签名配置文件部分:

    signing:
    default:
    usage:
    - digital signature
    expiry: 8760h
    profiles:
    ca:
    usage:
    - cert sign
    - crl sign
    expiry: 43800h
    caconstraint:
    isca: true
    maxpathlen: 0
    tls:
    usage:
    - signing
    - server auth
    - client auth
    expiry: 8760h
    Fabric CA 仅检查以确保根证书的 CA 约束设置太正确。它不限制它签署的证书的 key 用法到它自己的扩展(这不是技术要求)。如果证书的消费者也希望基于颁发者对证书实现使用限制,他们自己会这样做。 openssl例如,确保允许 CA 使用它需要的 key 使用来签署证书。但它并不禁止其他扩展。

    关于ssl - Hyperledger Fabric 节点 TLS 证书中的 key 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63012766/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com