gpt4 book ai didi

apache - 使用智能卡的 SSL 客户端身份验证

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:38 25 4
gpt4 key购买 nike

我已将 Apache 配置为需要客户端证书才能访问资源通过端口 443 上的 SSL 使用:

<VirtualHost _default_:443>

[other stuff]

SSLEngine on

SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

SSLCertificateFile /PATH_TO_CERTS/server.crt
SSLCertificateKeyFile /PATH_TO_PRIVATE/server.key
SSLCACertificateFile /PATH_TO_CERTS/ca.cer

SSLVerifyClient require
SSLVerifyDepth 10
SSLOptions +StdEnvVars +ExportCertData

[other stuff]

</VirtualHost>

当我建立一个自签名 CA 并使用它来颁发客户端证书时给客户端我没问题,SSL客户端认证就实现了。

然而,我真正想做的是要求客户证书是由第三方信任的 CA 颁发,该 CA 在智能卡的形式。所以,我所做的是更改 SSLCACertificateFile到/PATH_TO_CERTS/ca-bundle.crt,其中包含一捆 CA 证书包括中间智能卡发行 CA 及其根 CA。这这些 CA 的主题和颁发者值是:

  Root CA:
subject= /C=US/O=U.S. Government/OU=EXAMPLE DEPARTMENT/OU=Certification Authorities/OU=EXAMPLE DEPARTMENT Root CA
issuer= /C=US/O=U.S. Government/OU=EXAMPLE DEPARTMENT/OU=Certification Authorities/OU=EXAMPLE DEPARTMENT Root CA

Intermediate CA issuing cert:
subject= /C=US/O=U.S. Government/OU=EXAMPLE AGENCY/OU=Certification Authorities/OU=EXAMPLE AGENCY Operational CA
issuer= /C=US/O=U.S. Government/OU=EXAMPLE DEPARTMENT/OU=Certification Authorities/OU=EXAMPLE DEPARTMENT Root CA

我希望 Apache 接受来自客户端的有效智能卡证书,但是我收到以下错误:“证书验证:错误 (20):无法获取本地颁发者证书”。

我不知道该怎么做。我可能在做某事吗错误或“SSLVerifyClient 要求”仅适用于客户端证书由本地建立的 CA 颁发?

如能深入了解此事,我们将不胜感激。

我在 RHEL6 上运行 Apache 2.2。

最佳答案

也许您需要将这一行添加到您的 Apache conf 中:

SSLCertificateChainFile/PATH_TO_CERSTS/intermediateCA.crt

关于apache - 使用智能卡的 SSL 客户端身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27257292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com