Tiens ! Pas de répertoire 'Apache Tomcat' chez ce si complet Developpez.net ? J'ai dû mal voir ...
J'ai des problèmes pour
- faire fonctionner mon premier site web utilisant SSL (de préférence APR, sinon JSSE) et https.
- créer une paire de clés et un certificat autrement qu'avec la commande en ligne 'keytool'.
Sur mon desktop - AMD Athlon(tm) 64 Processor ..., j'ai installé
- Apache Tomcat 7.0.11 (NetBeans IDE download bundle 'Java EE' in http://netbeans.org/downloads/ )
- NetBeans IDE 7.0
- Java: 1.6.0_22; Java HotSpot(TM) Client VM 17.1-b03 ; et le JRE inclus (C:\Program Files\Java\jdk1.6.0_22\jre)
- System: Windows XP version 5.1 running on x86; Cp1252; fr_BE (nb)
J'ai relu plusieurs fois http://tomcat.apache.org/tomcat-7.0-...#Configuration mais cela ne suffit pas.
Ma configuration Tomcat est de base :
- Serveur web stand-alone incluant les conteneurs pour Servlet/JSP.
- mon serveur web n'a qu'une seule interface externe à laquelle n'est associée qu'une seule adresse IP et un seul certificat.
Dans ce premier stade de fonctionnement, je n'utilise pas encore un certificat acheté chez une authorité, mais seulement un "self-signed Certificate".
Ma connexion sécurisée n'utilise pas de 'name-based virtual hosts'.
1) Implémentation JSEE
'%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA' semble s'être bien exécutée : Elle m'a produit un '.keystore' dans 'C:\Program Files\ApacheSoftwFound\Apache Tomcat 7.0.11' et a dû y mettre un premier "self-signed Certificate" et une première clé (publique ?). J'ai placé une copie de ce fichier '.keystore' dans le répertoire parent de toutes mes applications (C:\Documents and Settings\Papa).
Je suppose que ce '.keystore' est de format JKS (Java KeyStore) et ne peut donc être utilisé que dans l'implémentation JSSE de SSL, pas dans l'implémentation APR.
Copie de mon tag 'Connector' pour JSSE (dans 'server.xml') :
A l'exécution : "java.security.NoSuchAlgorithmException: RSA SSLContext not available" (entre autres points)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <!-- Define a non-blocking Java SSL Coyote HTTP/1.1 Connector on port 443 --> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="443" maxThreads="150" scheme="https" secure="true" SSLEnabled="true" keystoreFile="C:/Documents and Settings/Papa/.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" />
Si vous êtes aussi membre de 'Tomcat users List' : J'y ai placé une question : "My web application to use SSL (JSSE - RSA)" on June 8th, 2011. Mais je ne converge pas.
Je suppose que l'installation du bundle 'Java EE' de NetBeans implique l'installation de la 'Tomcat native library', je présume. Comment le vérifier ? NetBeans IDE 7.0 > tab Projects > répertoire Libraries > Tomcat 7.0 > dans quel fichier .jar ? ('Tomcat native library' --> Je devrais utiliser l'implémentation APR, pas JSSE)
2) Implémentation APR (OpenSSL)
Je sais que les keystores au format PKCS11 et PKCS12 sont ceux qui conviennent pour l'implémentation APR et peuvent être manipulés par OpenSSL et Microsoft's Key-Manager. Je ne sais pas où trouver un convertisseur JKS --> PKCS11 ou PKCS12 ou un générateur 'from scratch' de keystore au format PKCS11 ou PKCS12.
Copie de mon tag 'Connector' essayé pour APR :
Application pas encore exécutée car :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <!-- Define a APR SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector protocol="org.apache.coyote.http11.Http11AprProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" SSLCertificateFile="/usr/local/ssl/server.crt" SSLCertificateKeyFile="/usr/local/ssl/server.pem" clientAuth="optional" SSLProtocol="TLSv1" /> <!-- Default engine to OpenSSL --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" SSLRandomSeed="builtin" />
Mon OS est Windows XP; pas Unix. Par quoi dois-je remplacer '/usr/local/ssl/' ?
Comment générer server.crt et server.pem ?
L'installation NetBeans IDE 7.0 conjointement à J2EE et Apache Tomcat 7.0.11 ne me donne pas
- l'icône 'Apache Monitor' (Toolbar - droite) qui m'aurait permis de Starter et Stopper le serveur web et le container de servlets ... Cela m'aurait permis de démarrer et de stopper l'application à l'extérieur de l'IDE (start > cmd > startup.cmd batch)
- l'application Tomcat 'Administration Manager'
Que dois-je faire pour installer ces fonctionnalités ?
Lille, Valenciennes, Courtrai, Tournai :
- Quel connaisseur en Tomcat servers, JavaEE et e-ID accepterait que je lui rende visite avec mon ordinateur, et m'accorderait un peu de temps pour me débloquer et me conseiller ?
- Quels sont les organismes de cours pour adultes qui prodiguent des cours centrés sur Tomcat servers, JavaEE ... (pour Septembre prochain)
Merci de tenter de me dépanner ...
Partager