簡體   English   中英

tomcat ssl apr x509

[英]tomcat ssl apr x509

這是我在這個論壇的第一個問題,請提前對任何錯誤表示歉意。 我在使用SSL和APR配置tomcat時遇到問題。

上下文: tomcat 7,Java 7,OpenSSL,一對有效的x509證書。

我的https連接器:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true"
           SSLVerifyClient="require" SSLVerifyDepth="3"
           SSLCertificateFile="${catalina.home}/security/server.pem"
           SSLCertificateKeyFile="${catalina.home}/security/server.key"
           SSLCertificateChainFile="${catalina.home}/security/trust.pem"
           SSLCACertificateFile="${catalina.home}/security/trust_ca.pem"
           />

PKI樹:

ROOT -> CA_intermediate -> CA4Servers -> server (tomcat)
                                      -> serv2Cert
                        -> CA4People  -> people1Cert

Windows密鑰庫中存在2個證書的Windows PC客戶端(Windows-MY):people1Cert和serv2Cert

include ROOT, CA_intermediate, CA4Servers and tomcat pem encoded public key. 包括ROOT,CA_intermediate,CA4Servers和tomcat pem編碼的公鑰。 all of trust.pem but tomcat cert. 所有的trust.pem但tomcat證書。

我想要的:轉到https://tomcat.server:8443/ ,瀏覽器向我展示了一個證書的證書選擇器對話框:serv2Cert,我選擇它並成功進入網頁。 如果我選擇其他證書,服務器會向我顯示錯誤頁面。

我的問題:當我獲得證書選擇器對話框時,我看到2個證書:serv2Cert和people1Cert(?)。 他們倆都讓我進入網頁! 如果我更改SSLVerifyDepth或trust_ca.pem以將客戶端證書限制為僅僅serv2Cert,我會收到SSL錯誤,例如未知ca未知證書

我已經嘗試過一些SSLVerifyDepth值,如1,2,3,4。 只有“3”讓我登錄服務器。 如果我從trust_ca.pem刪除所有CA證書但是ROOT,讓我使用兩個客戶端證書(people1Cert和serv2Cert)登錄。

我會對此提出任何幫助,對不起我的英語不好,謝謝你提前。 最好的祝福。

你不能用Tomcat做到這一點。 它對SSL非常不靈活。 請注意,您要配置整個Tomcat容器,而不是單個Web應用程序。 我建議你把一個Apache HTTP放在Tomcat前面,即作為反向代理。 Apache HTTPD允許您配置SSL的每個方面,包括可接受的客戶端身份,直到單個目錄的級別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM