Afin de configurer JRE pour le mode approuvé uniquement BCFIPS :
Ajoutez les fichiers BCFIPS.jar au classpath Java.
Les fichiers BCFIPS requis sont les suivants :
bc-fips-1.0.2.4.jar
bcpkix-fips-1.0.7.jar
bctls-fips-1.0.18.jar
Modifiez le fichier java.security dans le répertoire <racine-JRE>/conf/security et définissez une propriété système Java définie par BCFIPS.
Dans un éditeur de texte, ouvrez le fichier ci-dessus pour le JRE qui héberge le conteneur Web à l'emplacement suivant : <racine-JRE>/conf/security/java.security. Recherchez la liste des fournisseurs de sécurité, mettez en commentaire tous les fournisseurs existants et remplacez les entrées par ce qui suit :
security.provider.1=BCFIPS
security.provider.2=BCJSSE
security.provider.3=SunJSSE
security.provider.4=SUN
security.provider.5=SunJCE
Le fournisseur SunJSSE (Java 11) est requis, car OSP nécessite des implémentations TrustManager spécifiques lors de l'initialisation de ses fichiers Truststore. Outre les modifications apportées aux fournisseurs de sécurité, l'implémentation BCFIPS JSSE KeyManager doit être utilisée. Cela s'explique par le fait que les défaillances dans l'implémentation de Sun ne permettent pas d'effectuer certaines déterminations requises par la norme FIPS concernant les clés. Pour ce faire, dans java.security, remplacez la ligne :
ssl.KeyManagerFactory.algorithm=SunX509
par
ssl.KeyManagerFactory.algorithm=PKIX
Il est également préférable de désactiver les anciens algorithmes SSL et TLS. En effet, les algorithmes requis pour les versions SSL/TLS antérieures à TLS 2.0 ne sont pas disponibles en mode approved (approuvé) BCFIPS. Pour désactiver les anciens algorithmes, recherchez l'entrée jdk.tls.disabledAlgorithms. Par exemple :
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \ EC keySize < 224, DES40_CBC, RC4_40, 3DES_EDE_CBC
Ajoutez TLSv1 et TLSv1.1 à la liste :
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, MD5withRSA, DH keySize < 1024, \ EC keySize < 224, DES40_CBC, RC4_40, 3DES_EDE_CBC
La désactivation de TLSv1 et TLSv1.1 est facultative. Elle empêche toutefois l'apparition de messages d'erreur cryptiques lorsque OSP tente de se connecter de façon sécurisée avec des services (tels que LDAP) qui prennent uniquement en charge TLS v1.1 ou une version antérieure. Les messages d'erreur qui apparaissent lorsque les versions antérieures de TLS sont désactivées sont plus compréhensibles et indiquent directement le problème.
REMARQUE :eDirectory 8.8 (ou version antérieure) ne peut pas être utilisé avec LDAP sécurisé, car il ne prend en charge que TLS v1.0. Si vous souhaitez utiliser LDAP sécurisé, vous devez utiliser eDirectory 9 ou une version ultérieure. Une autre alternative consiste à modifier le type de keystore par défaut. Recherchez la ligne keystore.type=jks ou keystore.type=pkcs12 et remplacez-la par keystore.type=bcfks.