gpt4 book ai didi

ruby - 如何在不访问HTTP层的情况下模拟浏览器X509客户端证书验证

转载 作者:可可西里 更新时间:2023-11-01 17:11:04 27 4
gpt4 key购买 nike

我正在 authentication via a X509 client certificate 阅读这篇文章,但我无法让服务器请求客户端证书,因为我在 Heroku 上运行应用程序,所以我无法访问 HTTP 层。

我看到了对 similar question on Stackoverflow 的回复据说要使用自定义 header 。

我想通过使用自定义 header 的应用程序服务器来模拟客户端证书验证。我正在使用 Ruby,所以如果有人知道已经完成此任务的库,那将会很有帮助。否则,有可能吗?我需要什么资源?我找到了 this SO question但它是关于验证 SSL 证书的,我不确定这是否适用。

对于这个问题的含糊不清,我深表歉意,但我才刚刚开始。

最佳答案

您的应用程序堆栈无法控制 SSL,因为它已在网络服务器上终止。所有验证工作都由 Web 服务器完成,然后只有 SSL_* header 会转到应用程序服务器(例如,查找 Apache 的 SSLOptions)。如果您无法控制 Web 服务器,您可能甚至无法打开客户端证书要求。而且我找不到任何选项来通过 heroku 打开此要求:https://devcenter.heroku.com/articles/ssl#customdomain-ssl

如果您以某种方式获得了 SSL_* header ,则无论网络服务器端验证如何,您都可以使用 openssl 作为军刀来验证证书(通常在 SSL_CLIENT_CERT header 中)。例如在 ruby 中看到这个:OpenSSL verify certificate from own CA

另请记住,证书验证是检查证书签名和其他属性的过程,例如正式检查。例如,要对用户进行身份验证,您必须通过 DN 或 E 字段将经过验证的证书链接到用户。

关于ruby - 如何在不访问HTTP层的情况下模拟浏览器X509客户端证书验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14173354/

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