更新证书时 FreeIPA 主题名称编码不匹配

更新证书时 FreeIPA 主题名称编码不匹配

阅读这个问题和答案时,似乎这应该是可能的,但我需要更多的帮助来理解答案。

有没有办法将现有 CSR“国家代码”字段的字符串格式从 UTF8 更改为可打印字符串?_

我要反其道而行之,将 PRINTABLESTRING 转换为 UTF8。我不明白如何找到要编辑的正确值,有人能为我详细说明一下吗?为什么十六进制值会像这样垂直列出,我应该这样查找它们吗?我使用的十六进制编辑器称为 Hexer,因为我熟悉 vi 动作(但不熟悉 Hexer 本身)。

https://devel.ringlet.net/editors/hexer/

背景

我正在 FreeIPA 中更新证书。证书颁发机构是 Windows。我已经强制 Windows 以 UTF8 格式颁发我们的证书,方法是确保通过 Windows 上的命令行而不是 GUI 颁发证书。

但现在它正在抱怨证书颁发机构链:

ipa-cacert-manage renew --external-cert-file=./freeipaca-windows-commandline.pem --external-cert-file=./cachain.pem

Importing the renewed CA certificate, please wait
CA certificate chain in ./freeipaca-windows-commandline.pem, ./cachain.pem is incomplete: missing certificate with subject 'CN=example.com ICA Windows-CA,DC=example,DC=com'

我认为这是因为链中的 commonName 字段是 PRINTABLESTRING 而不是 UTF8。这与我们在证书主题字段中遇到的问题相同,直到我们使用 Windows 命令行颁发证书:

# openssl x509 -in cachain.pem -subject -issuer -nameopt multiline,show_type -noout
subject=
    domainComponent           = IA5STRING:com
    domainComponent           = IA5STRING:example
    domainComponent           = IA5STRING:internal
    commonName                = PRINTABLESTRING:internal.example.com ICA Windows-CA2
issuer=
    commonName                = PRINTABLESTRING:example.com Root CA Windows-CA1

或者也许有更简单的方法来解决这个问题?


更新

看来我在 Windows 上使用命令行颁发证书并没有解决原来的问题。FreeIPA 4.6.8 仍然认为存在问题。

ipa-cacert-manage renew --external-cert-file=./cert_and_chain.pem
Importing the renewed CA certificate, please wait
Subject name encoding mismatch (visit http://www.freeipa.org/page/Troubleshooting for troubleshooting guide)
The ipa-cacert-manage command failed.
# openssl x509 -in cert_and_chain.pem -subject -issuer -nameopt multiline,show_type -noout

subject=
    organizationName          = PRINTABLESTRING:EXAMPLE.NET
    commonName                = PRINTABLESTRING:Certificate Authority
issuer=
    domainComponent           = IA5STRING:com
    domainComponent           = IA5STRING:example
    commonName                = PRINTABLESTRING:example.com ICA Windows-CA

答案1

我不知道(我甚至不知道了解)具体情况。

可以这么说,证书颁发后,您就无法更改其中的任何内容。

这就是证书的全部用途。

相关内容