...
On récupère la chaine TCS/addtrust àhttp://www.cru.fr/_media/services/tcs/cachain.pemunmigrated-wiki-markup
| Bloc de code |
|---|
\[root@gaspar-dev /etc/pki/tls/certs\] wget [http://www.cru.fr/_media/services/tcs/cachain.pem|http://www.cru.fr/_media/services/tcs/cachain.pem?cache=nocache] |
On récupère et met les certificats de notre PKI (ca-chain-tmspca2_itca2_itrootca2.crt, tmspca.crt.1, cat itca.crt.1 et cat itrootca.crt.1) dans le même répertoire. On concatène le tout dans le bundle:unmigrated-wiki-markup
| Bloc de code |
|---|
\[root@gaspar-dev /etc/pki/tls/certs\] ( cat ca-chain-tmspca2_itca2_itrootca2.crt ; cat tmspca.crt.1 ; cat itca.crt.1 ; cat itrootca.crt.1; cat cachain-tcs-addtrust.pem ) > ca-pkiit1-pkiit2-chain-tcs-addtrust-bundle.crt |
3.2/ Génération de la clé et du certificate request pour TCS
Dans notre cas, on va sur un autre serveur afin de générer la clé et le csr (certificate request).
On crée ceci sur un autre serveur pour des raisons "historiques" car c'est celui qui contient notre PKI. Le logiciel qu'on utilise est CSP dont voici quelques références:
http://www.rajeevnet.com/crypto/ca/ca-paper.html
...
On crée donc la clé privée (protégée par un mot de passe) et le csr via openssl:unmigrated-wiki-markup
| Bloc de code |
|---|
\[pkitcs@pki \~/tcs-tmsp\] $ openssl req \-config [opensslTCS-TMSP-gaspardev.cnf|^opensslTCS-TMSP-gaspardev.cnf] \-new \-extensions v3_req \-keyout private/gaspardev_pass.key \-out req/gaspardev.req \-days 720 |
Dans le fichier de configuration opensslTCS-TMSP-gaspardev.cnf en pièce jointe ci-dessus, les points importants sont:unmigrated-wiki-markup
| Bloc de code |
|---|
...
nsCertType = server, client keyUsage |
...
= nonRepudiation, digitalSignature, keyEncipherment, dataEncipherment extendedKeyUsage |
...
= serverAuth, |
...
clientAuth subjectAltName = @altnamesgaspardev \[ altnamesgaspardev \] DNS.1 |
...
= "gaspar-dev.it-sudparis.eu" |
On récupère la clé sur le serveur où tournera uPortal, par exemple en utilisant scp:unmigrated-wiki-markup
| Bloc de code |
|---|
\[root@gaspar-dev /etc/pki/tls/certs\] scp root@carthage:/vservers/pki/home/pkitcs/tcs-tmsp/opensslTCS-TMSP-gaspardev.cnf . |
On retire la passphrase de la clé privée:
| Bloc de code |
|---|
openssl rsa \-in gaspardev_pass.key \-out gaspardev.key |
On soumet à TCS notre csr et, après approbation, on récupère le certificat signé et la chaine de certification. Dans notre cas, il s'agit respectivement de cert-593-gaspar-dev.int-evry.fr.pem et chain-593-gaspar-dev.int-evry.fr.pem.
On copie le tout aux emplacements traditionnels:
| Bloc de code |
|---|
cp gaspardev.key /etc/pki/tls/private/. |
...
cp cert-593-gaspar-dev.int-evry.fr.pem /etc/pki/tls/certs/. |
...
cp chain-593-gaspar-dev.int-evry.fr.pem /etc/pki/tls/certs/. |
3.3/ Création d'un Keystore pkcs12 et vérification
On crée le keystore pkcs12:
| Bloc de code |
|---|
openssl pkcs12 \-export \-in cert-593-gaspar-dev.int-evry.fr.pem \-inkey gaspardev.key \-out gaspardev_ca-pkiit1-pkiit2-chain-tcs-addtrust-bundle.p12 \-name tomcat \-CAfile ca-pkiit1-pkiit2-chain-tcs-addtrust-bundle.crt \-caname root \-chain |
On vérifie ce que ça donne:
| Bloc de code |
|---|
keytool |
...
\-list \-storetype pkcs12 \-keystore gaspardev_ca-pkiit1-pkiit2-chain-tcs-addtrust-bundle.p12 \-v |
On copie ce keystore où il convient:
| Bloc de code |
|---|
cp gaspardev_ca-pkiit1-pkiit2-chain-tcs-addtrust-bundle.p12 /etc/pki/tls/certs/. |
3.4/ Modification de Tomcat
Le fichier à modifier est /etc/tomcat6/server.xml :
| Bloc de code |
|---|
<Connector port="8443 |
...
" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" |
...
enableLookups="false" disableUploadTimeout="true" |
...
acceptCount="100" scheme="https" secure="true" |
...
keystoreFile="/etc/pki/tls/certs/gaspardev_ca-pkiit1-pkiit2-chain-tcs-addtrust-bundle.p12" keystorePass="changeit" keystoreType="pkcs12" |
...
clientAuth="false" sslProtocol="TLS" /> |
4/ Installation du package esup-portail à proprement parler
...