2016-07-08 10 views
1

Ich benutze BouncyCastle 1.54.Wie konvertiert man einen JCE-Algorithmusnamen in ein AlgorithmIdentifier-Objekt?

Ich habe eine JCE-Algorithmus-Zeichenfolge - wie "ECDSAwithSHA256" (zum Beispiel).

Ich brauche ein Objekt org.bouncycastle.asn1.x509.AlgorithmIdentifier.

Alternativ könnte ich ein AlgorithmIdentifier-Objekt aus einer OID erstellen, aber das wirft die Frage auf, wie man eine Algorithmus-Zeichenfolge stattdessen in eine OID übersetzt.

Ich könnte einen riesigen if/else erstellen, aber es muss einen Standard Weg geben, dies zu tun.

Antwort

0

Sie können die Algorithmus Findern von BouncyCastle (siehe javadoc)

import org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder; 
import org.bouncycastle.operator.DefaultSignatureAlgorithmIdentifierFinder; 

AlgorithmIdentifier sigAlgId = new DefaultSignatureAlgorithmIdentifierFinder().find(signatureAlgorithm); 
AlgorithmIdentifier digAlgId = new DefaultDigestAlgorithmIdentifierFinder().find(sigAlgId); 

Die AlgorithmIdentifier OID für SHA256withECDSA erhalten die (nicht ECDSAwithSHA256 finden bouncycastle specifications) wird

1.2.840.10045.4.3.2 
2.16.840.1.101.3.4.2.1 
Verwandte Themen