J'ai un projet de démarrage Spring (1.4.2.RELEASE) avec bouncycastle comme une dépendance dans le pom.xml comme dans les domaines suivants:botte printemps et les fournisseurs JCA
pom.xml
...
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.54</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.54</version>
</dependency>
...
Cependant, lorsque je tente de préciser "BC" en tant que fournisseur pour une opération JCA dans mon code, comme:
Signature aSig = Signature.getInstance("SHA256withRSA","BC");
Je reçois la norme aucune exception du fournisseur:
java.security.NoSuchProviderException: no such provider: BC
malgré l'entrée
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
dans le fichier java.security de mon jre.
Avec cette dépendance dans mon dossier pom, le pot construit a les pots de château gonflable dans le dossier BOOT-INF/lib:
3277268 Tue Dec 29 12:46:28 EST 2015 BOOT-INF/lib/bcprov-jdk15on-1.54.jar
673715 Tue Dec 29 12:46:02 EST 2015 BOOT-INF/lib/bcpkix-jdk15on-1.54.jar
Je peux accéder aux classes dans les sans problème, mais JCA » t trouver le fournisseur.
Donc, est-ce que JCA requiert que les fichiers jar du fournisseur soient dans jre/lib/ext?
... ou manque-t-il quelque chose?
EDIT:
Cependant, ceci:
Signature.getInstance("SHA256withRSA",new BouncyCastleProvider());
œuvres.
Je fais l'installation statique ... voir mon message original. – RobD
Ensuite, vous devez ajouter les jars dans 'jre/lib/ext', n'utilisez pas non plus positión 1 car 'bouncycastle' peut avoir des dépendances. Voir ce lien d'Oracle https://docs.oracle.com/cd/E19830-01/819-4712/ablsc/index.html qui fait référence à bouncycastle. dans ces autres liens indiquent également qu'il est nécessaire d'inclure les jars dans JVM 'lib/ext' http://tomee.apache.org/bouncy-castle.html https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide /4/html/ch09s19s04s04.html – pedrofb
Merci pour vos réponses ... Je les apprécie. En ce qui concerne votre commentaire, pourquoi: signature.getInstance ("SHA256withRSA", nouveau BouncyCastleProvider()); travail mais signature.getInstance ("SHA256withRSA", "BC"); échoue quand les jars sont * not * dans le dossier jre/lib/ext? – RobD