J'ai enfin trouvé la solution à mon problème, je vais donc poster les résultats ici si quelqu'un d'autre est coincé.
Merci à Michael Martin de Pensées et divagations de Michael sur les logiciels J'ai découvert ça :
keytool utilise par défaut la méthode DSA lors de la génération du certificat auto-signé. Les versions antérieures de Firefox acceptaient ces clés sans problème. problème. Avec Firefox 3 beta 5, l'utilisation de DSA ne fonctionne pas, mais l'utilisation de RSA fonctionne. Le passage de "-keyalg RSA" lors de la génération du le certificat auto-signé crée un Le certificat de Firefox 3 beta 5 est entièrement accepte.
J'ai simplement activé ce drapeau, effacé tous les caches dans FireFox et ça a marché comme sur des roulettes ! J'utilise ceci comme une configuration de test pour mon projet et j'ai besoin de partager ceci avec d'autres personnes, donc j'ai écrit un petit batch script qui crée deux certificats SSL. L'un peut être déposé dans la configuration de Tomcat et l'autre est un fichier .p12 qui peut être importé dans FireFox/IE. Merci !
Utilisation : le premier argument de la ligne de commande est le nom d'utilisateur du client. Tous les mots de passe sont "password" (sans guillemets). Changez n'importe lequel des bits codés en dur pour répondre à vos besoins.
@echo off
if "%1" == "" goto usage
keytool -genkeypair -alias servercert -keyalg RSA -dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -keystore server.jks -storepass password
keytool -genkeypair -alias %1 -keystore %1.p12 -storetype pkcs12 -keyalg RSA -dname "CN=%1,OU=Unit,O=Organization,L=City,S=State,C=US" -keypass password -storepass password
keytool -exportcert -alias %1 -file %1.cer -keystore %1.p12 -storetype pkcs12 -storepass password
keytool -importcert -keystore server.jks -alias %1 -file %1.cer -v -trustcacerts -noprompt -storepass password
keytool -list -v -keystore server.jks -storepass password
del %1.cer
goto end
:usage
echo Need user id as first argument: generate_keystore [username]
goto end
:end
pause
Les résultats sont deux fichiers. Un appelé server.jks que vous déposez dans Tomcat et un autre fichier appelé {nomd'utilisateur}.p12 que vous importez dans votre navigateur. Dans le fichier server.jks, le certificat du client est ajouté comme certificat de confiance.
J'espère que quelqu'un d'autre trouvera cela utile.
Et voici le XML qui doit être ajouté à votre fichier conf/sever.xml de Tomcat (testé uniquement sur Tomcat 6.x)
<Connector
clientAuth="true" port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="${catalina.home}/conf/server.jks"
keystoreType="JKS" keystorePass="password"
truststoreFile="${catalina.home}/conf/server.jks"
truststoreType="JKS" truststorePass="password"
SSLVerifyClient="require" SSLEngine="on" SSLVerifyDepth="2" sslProtocol="TLS"
/>
Pour Tomcat 7 :
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" SSLEnabled="true"
maxThreads="200" scheme="https" secure="true"
keystoreFile="${catalina.base}/conf/server.jks" keystorePass="password"
clientAuth="false" sslProtocol="TLS" />