客户端从哪里获取EST中的客户端证书进行认证?

问题描述 投票:0回答:2

我正在阅读有关基于安全传输 (EST) 协议的注册,并且在该协议中,它表示 EST 服务器可以使用客户端证书或 HTTP Basic Auth 或 OAuth-2.0 对客户端进行身份验证。但是客户端从哪里得到这个客户端证书呢?它是由管理员通过外部方式(如电子邮件)提供给客户的吗?

ssl tls1.2 pki tls1.3 mtls
2个回答
0
投票

但是客户端从哪里得到这个客户端证书呢?

RFC 7030 第 2.2 节“初始注册” 说:

EST服务器对EST客户端进行身份验证和授权 在第 3.3.2、3.3.3 和 3.7 节中指定。描述的方法 本概述中讨论的规范性文本包括:

  • TLS 具有 先前颁发的客户端证书(例如,现有的 EST CA颁发的证书);
  • TLS 带有 先前安装的证书(例如,制造商- 安装的证书或由其他人颁发的证书 党);

因此,它假定已经以某种安全方式安装了客户端证书。它没有讨论用于初始身份验证的客户端证书的分发,而是给出了一些可能安装它的示例。由于在注册客户端时通常有既定流程(如软件安装、证书颁发等),您可能会考虑此注册流程的这一部分。

请注意,您对其他形式的身份验证有类似的安全要求,即用户名和密码也必须预先为客户端所知,因此必须在使用前以某种方式安全地分发或安装。


0
投票

维基百科上有很好的解释: https://en.wikipedia.org/wiki/Enrollment_over_Secure_Transport

EST 的基本功能被设计为易于使用,虽然不是 REST API,但可以使用 OpenSSL 和 cURL 等简单工具以类似 REST 的方式使用。使用 EST 中指定的身份验证机制(用户名:密码)之一,使用预生成的 PKCS#10 证书签名请求(存储为 device.b64)进行初始注册的简单命令是:

curl -v --cacert ManagementCA.cacert.pem --user username:password --data @device.b64 -o device-p7.b64 -H "Content-Type: application/pkcs10" -H "Content-Transfer-Encoding: base64" https://hostname.tld/.well-known/est/simpleenroll

颁发的证书,作为 Base64 编码的 PKCS#7 消息返回, 存储为 device-p7.b64

© www.soinside.com 2019 - 2024. All rights reserved.