如何将JCE算法名称转换为AlgorithmIdentifier对象?

时间:2016-07-08 18:30:48

标签: bouncycastle jce oid

我正在使用BouncyCastle 1.54。

我有一个JCE算法字符串 - 比如“ECDSAwithSHA256”(例如)。

我需要一个org.bouncycastle.asn1.x509.AlgorithmIdentifier对象。

或者,我可以从OID创建一个AlgorithmIdentifier对象,但这引出了如何将算法字符串转换为OID的问题。

我可以创建一个巨大的if / else,但必须有一个标准的方法来做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用BouncyCastle的算法查找器(请参阅javadoc


->add('entity', AjaxType::class,array(
     'ajax_type' => EntityType:class,
     'ajax_options' => [
         'class' => 'AppBundle:User',
         'choice_label' => 'username',
     ]
))

import org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder; import org.bouncycastle.operator.DefaultSignatureAlgorithmIdentifierFinder; AlgorithmIdentifier sigAlgId = new DefaultSignatureAlgorithmIdentifierFinder().find(signatureAlgorithm); AlgorithmIdentifier digAlgId = new DefaultDigestAlgorithmIdentifierFinder().find(sigAlgId); 获取的AlgorithmIdentifier OID(不是SHA256withECDSA,请参阅bouncycastle specifications

ECDSAwithSHA256