我正在寻找一种在标准 CA 颁发的 SSL 服务器证书中添加额外自定义数据的方法。这可能吗?
我想获得由标准 CA 颁发的 SSL 服务器证书,以便标准浏览器接受它。但是,我的私人应用程序将使用少量额外数据,我也希望将这些数据包含在证书中。我正在寻找一种将它包含在证书中的方法,以一种标准浏览器将忽略并且(关键)CA 不会剥离的方式。
是否有一个字段或地方可以存储任意数据,而不会被公共 CA 剥离?
也许是otherName
:subjectAltName
它会被任何标准 CA 保留吗?我应该查看自定义 x509 扩展吗?
关键要求是 CA 不删除或修改此内容。我需要至少存在一个受主要浏览器信任的 CA,并且不会删除这些自定义数据。我知道证书签名请求 (CSR) 的某些字段已被 CA 过滤或剥离,但我无法找到关于哪些字段(如果有)允许任意数据并将从 CSR 保留到最终证书。
这个问题是相关的,但不一样:它不要求证书由现代浏览器信任的 CA 签名。此外,我还发现了很多关于如何向 x509 CSR 添加自定义扩展的信息,但这不是我想要的;这并没有告诉我将数据填充到哪个扩展名(主要 CA 不会剥离哪个扩展名)。我知道如何创建包含自定义数据的 CSR,但我不知道 CSR 的哪些字段将未经修改地复制到最终服务器证书中。我也不是在寻找涉及运行我自己的 CA 的解决方案:我希望服务器证书被标准浏览器接受。 这个问题看起来也很相似,但我在那里没有看到明确的答案。