1
當我嘗試從我的Eclipse運行下面的代碼,我總是得到返回一個空值:與返回空值javax.servlet.request.X509Certificate問題
X509Certificate cert[] = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
System.out.println("cert: " + cert[0]); //always returns null
有人能幫助我這個問題?我讀過某處說我必須將客戶端身份驗證值設置爲true,但我該怎麼做?我使用pom.xml和web.xml(附後)
web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>HTTPS<web-resource-name>
<url-pattern>/*<url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
pom.xml:
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<httpsPort>8443</httpsPort>
<keystoreFile>${basedir}/certs/keystore.jks</keystoreFile>
<keystorePass>changeit</keystorePass>
</configuration>
任何幫助真的很感激!
謝謝!
對不起,遲到的迴應。我能夠使用您提供的鏈接將clientAuth設置爲true。但是,現在我得到了「SSL對等無法驗證您的證書」的錯誤。 – messron 2013-05-13 18:52:47
您可能需要設置一個信任密鑰庫,以便服務器/客戶端知道要信任哪些證書。 – gtrig 2013-05-13 19:59:44
是的!包括信任密鑰庫做了伎倆..感謝您的幫助! – messron 2013-05-14 13:31:10