小编Ric*_*mer的帖子

带有 URI 片段的 SAN 证书

我需要生成带有 SAN URI 的 TLS 证书,其中 URI 有一个片段(有一个哈希“#”)。但是当我尝试使用 openssl 生成证书时,该片段被删除。

# generate key and CSR for client certificate
openssl req -nodes -new -keyout me.key -out me.csr -subj "/O=Acme/CN=me"

# sign cert
openssl x509 -req -in me.csr -CA My-CA.crt -CAkey My-CA.key -set_serial 01 -out me.crt -extfile <(echo 'subjectAltName=URI:https://my.example/profile#me')

# verify result
openssl x509 -text -noout -in me.crt
#         X509v3 extensions:
#             X509v3 Subject Alternative Name:
#                 URI:https://my.example/profile
Run Code Online (Sandbox Code Playgroud)

我尝试了几种不同的方法来转义该值,但似乎没有任何效果符合预期。我认为转义可能适用于 Common Name 等字段,但不适用于 SAN 部分。

我对 openssl 替代品持开放态度。但如果我能看到一个概念验证证书,我可以用它来验证它是否有效,这将会很有帮助。

注意:这本质上是 WebID-TLS 的要求 ( https://www.w3.org/2005/Incubator/webid/spec/tls/#dfn-webid_certificate …

ssl certificate openssl

8
推荐指数
2
解决办法
964
查看次数

标签 统计

certificate ×1

openssl ×1

ssl ×1