[英]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.