118 lines
4.6 KiB
Markdown
118 lines
4.6 KiB
Markdown
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
|
||
|
||
# Howto Java
|
||
|
||
<http://docs.oracle.com/javase/>
|
||
|
||
<http://openjdk.java.net/>
|
||
|
||
## Installation Java
|
||
|
||
Sous Debian 6, Sun Java 6 ou OpenJDK 6.
|
||
Sous Debian 7, OpenJDK 6 ou 7.
|
||
Sous Debian 8, OpenJDK 7 (ou 8 via backports).
|
||
|
||
### Installer OpenJDK 8 sous Debian 7
|
||
|
||
à compléter.
|
||
|
||
### Installer Oracle Java 8 sous Debian 7 et 8
|
||
|
||
Le plus simple est de créer un package automatiquement en utilisant le tar.gz du site oracle.
|
||
La procédure à suivre est ici : <https://wiki.debian.org/JavaPackage>
|
||
|
||
## Java sécurité
|
||
|
||
### Importer un certificat racine
|
||
|
||
Java stocke ces certificats dans un fichier, situé dans _/usr/lib/jvm/java-6-sun/jre/lib/security/cacerts_ (sous Debian).
|
||
|
||
Pour lister les certificats :
|
||
|
||
~~~
|
||
$ keytool -list -v -keystore /usr/lib/jvm/java-6-sun/jre/lib/security/cacerts
|
||
~~~
|
||
|
||
Pour importer un nouveau certificat, on peut utiliser la commande keytool :
|
||
|
||
~~~
|
||
$ keytool -import -v -file certificat.cer -alias <mykey> -keystore /usr/lib/jvm/java-6-sun/jre/lib/security/cacerts
|
||
~~~
|
||
|
||
(/usr/lib/jvm/java-6-sun/jre/lib/security/cacerts est en fait un lien symbolique vers /etc/java-6-sun/security/cacerts).
|
||
|
||
Il est ensuite demandé un mot de passe pour ouvrir la base de données des certificats. Par défaut, il s'agit de _changeit_.
|
||
|
||
Si vous ne précisez pas d'alias vous pourriez rencontrer l'erreur suivante :
|
||
|
||
~~~
|
||
keytool error: java.lang.Exception: Certificate not imported, alias <mykey> already exists
|
||
~~~
|
||
|
||
Basiquement, cela peut vouloir dire que le certificat a déjà été importé avec l'alias par défaut: mykey, il faudra donc trouver un autre nom pour importer le certificat.
|
||
|
||
Pour supprimer un certificat (parce qu'il est expiré par exemple) :
|
||
|
||
~~~
|
||
$ keytool -delete -keystore /usr/lib/jvm/java-6-sun/jre/lib/security/cacerts -alias <mykey>
|
||
~~~
|
||
|
||
### Java Cryptography Extension (JCE)
|
||
|
||
<http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/>
|
||
|
||
Sous squeeze :
|
||
|
||
Télécharger le fichier ici : <http://download.oracle.com/otn-pub/java/jce_policy/6/jce_policy-6.zip>
|
||
|
||
~~~
|
||
# dpkg-divert --add --rename --divert /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/US_export_policy.jar.debianorig /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/US_export_policy.jar
|
||
# dpkg-divert --add --rename --divert /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/local_policy.jar.debianorig /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/local_policy.jar
|
||
- (Télécharger sur votre poste) sur le site d'oracle : <http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html> | scp sur le serveur
|
||
# cd /home/$USER
|
||
# unzip jce_policy-6.zip
|
||
# cp jce/US_export_policy.jar /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/
|
||
# cp jce/local_policy.jar /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/
|
||
# chmod 644 /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/security/*.jar
|
||
~~~
|
||
|
||
Il faut aussi modifier `/etc/java-6-sun/security/java.security`, en mettant les lignes suivantes après `# List of providers and their preference orders (see above):`
|
||
|
||
~~~
|
||
security.provider.1=org.jasypt.hibernate.type.EncryptedStringType
|
||
security.provider.2=sun.security.rsa.SunRsaSign
|
||
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
|
||
security.provider.4=com.sun.crypto.provider.SunJCE
|
||
security.provider.5=sun.security.jgss.SunProvider
|
||
security.provider.6=com.sun.security.sasl.Provider
|
||
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
|
||
security.provider.8=sun.security.smartcardio.SunPCSC
|
||
security.provider.9=sun.security.provider.Sun
|
||
~~~
|
||
|
||
Sous Wheezy avec JRE Oracle (pas OpenJDK) :
|
||
|
||
Télécharger le fichier ici : <http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html>
|
||
|
||
~~~
|
||
# cd /home/$USER
|
||
# unzip UnlimitedJCEPolicyJDK7.zip
|
||
# cp UnlimitedJCEPolicy/US_export_policy.jar /usr/local/opt/jdk1.7.0_45/jre/lib/security/
|
||
# cp UnlimitedJCEPolicy/local_policy.jar /usr/local/opt/jdk1.7.0_45/jre/lib/security/
|
||
# chmod 644 /usr/local/opt/jdk1.7.0_45/jre/lib/security/*.jar
|
||
~~~
|
||
|
||
Il faut aussi modifier `/usr/local/opt/jdk1.7.0_45/jre/lib/security/java.security`, en mettant les lignes suivantes après `# List of providers and their preference orders (see above):`
|
||
|
||
~~~
|
||
security.provider.1=org.jasypt.hibernate.type.EncryptedStringType
|
||
security.provider.2=sun.security.rsa.SunRsaSign
|
||
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
|
||
security.provider.4=com.sun.crypto.provider.SunJCE
|
||
security.provider.5=sun.security.jgss.SunProvider
|
||
security.provider.6=com.sun.security.sasl.Provider
|
||
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
|
||
security.provider.8=sun.security.smartcardio.SunPCSC
|
||
security.provider.9=sun.security.provider.Sun
|
||
~~~
|