2016-07-08 13 views
1

私はBouncyCastle 1.54を使用しています。どのようにしてJCEアルゴリズム名をAlgorithmIdentifierオブジェクトに変換しますか?

私は、 "ECDSAwithSHA256"(たとえば)のようなJCEアルゴリズム文字列を持っています。

私はorg.bouncycastle.asn1.x509.AlgorithmIdentifierオブジェクトが必要です。

また、OIDからAlgorithmIdentifierオブジェクトを作成することもできますが、代わりにアルゴリズム文字列をOIDに変換する方法の問題があります。

私は巨大なif/elseを作成することができましたが、これを行う標準的な方法が必要です。

答えて

0

あなたははBouncyCastleのアルゴリズムファインダーを使用することができます(javadocを参照)

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

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

SHA256withECDSAに対して得られたAlgorithmIdentifier OIDのは(ないECDSAwithSHA256bouncycastle specificationsを参照してください)

1.2.840.10045.4.3.2 
2.16.840.1.101.3.4.2.1 
になります
関連する問題