J'essaie d'utiliser BouncyCastle avec android pour implémenter ECDH et EL Gamal. J'ai ajouté le fichier jar bouncycastle (bcprov-jdk16-144.jar) et écrit un code qui fonctionne avec mes ordinateurs jvm mais lorsque je tente et le port à mon application android il lance:Algorithmes de chiffrement Bouncycastle non fournis
java.security.NoSuchAlgorithmException: KeyPairGenerator ECDH implementation not found
Un échantillon du code est:
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
java.security.KeyPairGenerator keyGen = org.bouncycastle.jce.provider.asymmetric.ec.KeyPairGenerator.getInstance("ECDH", "BC");
ECGenParameterSpec ecSpec = new ECGenParameterSpec("prime192v1");
keyGen.initialize(ecSpec, SecureRandom.getInstance("SHA1PRNG"));
KeyPair pair = keyGen.generateKeyPair();
PublicKey pubk = pair.getPublic();
PrivateKey prik = pair.getPrivate();
J'ai alors écrit un programme simple pour voir ce que les algorithmes de chiffrement sont disponibles et il a couru sur mon émulateur Android et sur mes ordinateurs JvM le code était:
Set<Provider.Service> rar = new org.bouncycastle.jce.provider.BouncyCastleProvider().getServices();
Iterator<Provider.Service> ir = rar.iterator();
while(ir.hasNext())
System.out.println(ir.next().getAlgorithm());
Sur Android, je ne reçois aucun des algorithmes EC alors qu'il fonctionnait normalement sur mon ordinateur ça va.
Je suis aussi obtenir les deux erreurs suivantes lors de la compilation pour un grand nombre de classes de château gonflable:
01-07 17: 17: 42,548: INFO/dalvikvm (1054): DexOpt: ne pas résoudre la classe ambiguë 'Lorg/bouncycastle/asn1/ASN1Encodable;'
01-07 17: 17: 42,548: DEBUG/dalvikvm (1054): DexOpt: non vérification 'LORG/bouncycastle/asn1/ess/OtherSigningCertificate;': plusieurs définitions
Qu'est-ce que je fais mal?
Ok je l'ai maintenant essayé d'ajouter bouncycastle comme un fichier .jar séparé, maintenant, quand je vérifie ce que des algorithmes sont disponibles il dit que ECDH et El Gamal sont tous les deux disponibles mais les mêmes erreurs et exceptions se produisent toujours –
Avez-vous déjà résolu ceci? – mcorley
s'il vous plaît mettre à jour votre question et dites-nous ce que vous avez fait pour le réparer. –