Ceci est une ancienne révision du document !
===== Conversion du certificat pour subsonic =====
==== Trouvé sur le net ====
http://forum.subsonic.org/forum/viewtopic.php?f=2&t=7548&p=63212&hilit=certificate&sid=36f23f5b9b11e73c11f17ede8662d597#p63212
> I found this topic while trying to implement my SSL certificate (purchased from comodo), and after some more research I found this solution (for Ubuntu 14.04, but should work for most other Linux releases).
>
>To generate a .keystore certificate you need your .key .crt and ca.crt files (ca.crt is Intermediate CA Certificate, in my case COMODORSAAddTrustCA.crt)
>You could also generate your own self-signed certificate (
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
)
>
>Convert x509 Cert and Key to a pkcs12 (remember to set some_password), as [some-alias] I used subsonic
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name [some-alias] -CAfile ca.crt -caname root
>Convert the pkcs12 file to a java keystore
keytool -importkeystore -deststorepass [new_password] -destkeypass [new_password] -destkeystore server.keystore -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass [some_password] -alias [some-alias]
>edit /usr/bin/subsonic file and add following lines (I added them after -Dsubsonic.httpsPort)
Dsubsonic.ssl.keystore=/opt/apps/subsonic/server.keystore \
Dsubsonic.ssl.password=[new_password] \
>enable ssl connection in /etc/default/subsonic
SUBSONIC_ARGS=“–port=9090 –https-port=9091 –max-memory=512”
[ https://silentkernel.fr/quelques-tips-pour-subsonic/ ]
==== Ma méthode ====
Le .key
, c'est ma clé, en l'occurrence le fichier en […].privatekey.pem
.
Le .crt
, c'est mon certificat : […].server.pem
.
Ce qui nous donne, pour convertir le certificat en pkcs12 :
openssl pkcs12 -export -in […].server.pem -inkey […].privatekey.pem -out server.p12 -name [some-alias] -CAfile ca.crt -caname root
Puis, pour convertir le pkcs12 en java keystore :
keytool -importkeystore -deststorepass [new_password] -destkeypass [new_password] -destkeystore server.keystore -srckeystore server.p12 -srcstoretype PKCS12 -srcstorepass [some_password] -alias [some-alias]
Ne reste plus qu'à modifier le /usr/bin/subsonic
en ajoutant les deux lignes suivantes après -Dsubsonic.httpsPort
:
Dsubsonic.ssl.keystore=/opt/apps/subsonic/server.keystore \
Dsubsonic.ssl.password=[new_password] \
J'ai changé de certificat et de méthode. J'utilise un certificat de chez Gandi et la méthode de silentkernel :
- Faire un fichier contenant :
- le certificat intermédiaire
- le certificat du serveur
- la clé privée
- openssl pkcs12 -in [le fichier ci-dessus] -export -out subsonic.pkcs12
, avec un mot de passe lorsque demandé
- openssl pkcs12 -in subso.crt -export -out subsonic.pkcs12
- zip /usr/share/subsonic/subsonic-booter-jar-with-dependencies.jar subsonic.keystore
pour importer le certificat produit dans le jar de subsonic
- redémarrer subsonic