cryptography - 什么是 X509 证书配置文件?

标签 cryptography x509certificate public-key-encryption

我在我正在阅读的 PKI 技术文档中看到术语“x509 profile”,但没有给出任何解释。我用谷歌搜索“x509 配置文件”的含义,但结果没有帮助。例如wikipedia entry on x509包含诸如以下的短语:

IPSec can use the RFC 4945 profile for authenticating peers.

The OpenCable security specification defines its own profile of X.509 for use in the cable industry.

并且没有给出配置文件的定义。似乎假定配置文件的含义是给定的!

x509 上下文中的配置文件到底是什么?我知道,从这个词我可以想象它意味着 x509 的某种形式分类,但问题是:这个分类是由什么组成的? x509 的哪些特征用于形成这些分类/配置文件?在哪里可以查看所有可用的分类?

最佳答案

最小证书由名称和公钥组成。签署此证书的 CA 断言指定的实体拥有与此公钥匹配的私钥。

除此之外,证书还可以(而且通常必须)包含其他信息。示例包括发行者和版本字段以及 key 用法、增强型 key 用法和主题备用名称扩展。

证书配置文件是附加信息的定义。例如,section 5.1.3.2 Key Usage of RFC 4945说:

A summary of the logic flow for peer cert validation follows:

  • If no KU extension, continue.

  • If KU present and doesn't mention digitalSignature or nonRepudiation (both, in addition to other KUs, is also fine), reject cert.

第 5.1.3.6 节继续描述 IPSec 证书所需的使用者备用名称。

基本上,配置文件是对如何为特定用例生成证书的定义。

您可以定义自己的证书配置文件,但您需要有充分的理由才能这样做。现有配置文件已涵盖大多数用例,因此您最终可能会重新发明轮子。

RFC 5280定义了在 Internet 上使用的 X.509 证书和 CRL 的配置文件。它列出了在 Internet(与 X.25 等其他网络相反)上运行的服务对证书的期望。这些字段是固定的(第 4.1 节),并且还定义了标准扩展。除此之外,您还可以定义自己的扩展。但是,您需要可以创建这些证书的 CA 以及了解如何使用它们的客户端。

关于cryptography - 什么是 X509 证书配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675308/

相关文章:

python - 从 Nodejs 加密时解密 Python 中的 AES-256-CTR 有效负载

java - 如何访问苹果 OS X 中安装的证书

java - SAML 2.0 中的签名属性值

java - KeyFactory 是线程安全的吗?

file - 从不同的线程更新 QProgressbar

java - 在 Java 中重新实现 openssl_random_pseudo_bytes 函数的正确方法

encryption - 量子计算和加密破解

c# - 如何从客户端请求中获取 X509Certificate

node.js - 使用 Nodejs (Crypto) 加密文件会引发错误 : bad base64 decode

encryption - 在不暴露明文的情况下更改加密 key