【问题标题】:How and when to use ClientCert in CFHTTP tag?如何以及何时在 CFHTTP 标签中使用 ClientCert?
【发布时间】:2011-06-02 20:16:27
【问题描述】:

ColdFusion 文档在如何以及何时使用它方面很薄弱。它有什么作用?怎么用?

更新:它似乎已损坏,如 Washing Client Certs in ColdFusion with SOAP – Part 2 中所述。

CFHTTP 处理 SSLv3 会话的问题

【问题讨论】:

    标签: ssl coldfusion https security


    【解决方案1】:

    客户端证书有点麻烦,因为使用它会产生开销。

    正如 Jura 所说,您需要一个使用客户端证书作为身份验证机制的目标服务器。此服务器端部分不需要基于 CF。 Web 服务器(例如 IIS)将被设置为需要这个。这是 SSL/TLS 协议的一部分,不特定于应用程序级别的任何语言。

    如果您请求资源的服务器需要客户端证书,您将使用此选项。该服务器的管理员需要提前向您提供客户端证书和私钥。如 user349433 所述,这通常是 PKCS12(.p12 或 .pfx)文件。

    服务器将验证客户端证书是否“受信任”,如果是,它将允许 TLS/SSL 握手继续进行,并且 CF 将能够在其上写入 HTTP 请求。

    今天的用例是防止中间人攻击,但由于涉及证书分发、吊销等的开销,这并不常见。

    如果您想了解更多信息,请查看 TLS 1.1 规范:

    https://www.rfc-editor.org/rfc/rfc4346 https://www.rfc-editor.org/rfc/rfc4346#section-7.4.6

    【讨论】:

    • 开销有那么糟糕吗?如果有,现在常用的是什么?
    • 是的。例如,安全分发客户端证书和私钥的好方法是什么?如果有人能够拦截私钥,那么系统就会崩溃。如果每个用户都有自己的证书/密钥,这可能对每个用户都是唯一的。
    【解决方案2】:

    如果目标服务器使用该机制进行身份验证,您正在使用客户端证书。您需要从服务提供商处获取特定的客户端证书才能连接到服务。我相信它早在几天前就被用于一些网上银行应用程序。不确定今天的用例是什么,可能是分布式公司网络,您需要在其中以高度安全的方式通过 Internet 连接到公司服务器?

    【讨论】:

    • 关于如何使用它的任何指南/教程?我很感兴趣。 (假设生产者和消费者都是 CF9)
    • @Henry 您将 PKCS12 格式的证书作为文件存储在服务器上,您只需将 /path/to/cert.p12 作为 CertFile 参数传递。验证证书(即确保它是由受信任的证书颁发机构颁发的)通常在 ColdFusion 范围之外(由 IIS 或 Apache)执行。您可以通过添加到CGI 范围内的extra variables 访问客户端证书信息,通常证书的主题 DN 标识客户端身份验证的用户帐户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    • 2016-06-29
    • 2012-02-20
    相关资源
    最近更新 更多