JcaX509CertificateConverter设置找不到所需的提供者,没有此类提供者BC

zer*_*day 3 java bouncycastle

我不明白为什么在setProvider(“ BC”)中不将BC识别为提供者。我已经成功导入了最新的Bouncycastle hier http://www.bouncycastle.org/latest_releases.html。但是,当我运行以下代码时:

X509Certificate crt=(X509Certificate)(new JcaX509CertificateConverter().setProvider("BC").getCertificate(crthold)); 
Run Code Online (Sandbox Code Playgroud)

我得到一个例外,即找不到提供者BC。

请问有人对如何解决这个问题有想法吗?以下是我收到的错误消息

org.bouncycastle.cert.jcajce.JcaX509CertificateConverter$ExCertificateException: cannot find required provider:no such provider: BC
at org.bouncycastle.cert.jcajce.JcaX509CertificateConverter.getCertificate(Unknown Source)
at client.ClientService.genCert(ClientService.java:399)
Run Code Online (Sandbox Code Playgroud)

zer*_*day 5

我只是添加了BouncyCastleProvider的一个实例而不是BC,它的工作原理非常完美。我正在为可能在同一情况下有一天的人添加答案:

X509Certificate crt=(X509Certificate)(new JcaX509CertificateConverter().setProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()).getCertificate(crthold));
Run Code Online (Sandbox Code Playgroud)