为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 FIPS BouncyCastle 将 ECPrivateKey

如何使用 FIPS BouncyCastle 将 ECPrivateKey

冉冉说 2021-08-13 16:24:13
如何使用 FIPS BouncyCastle 将 ECPrivateKey 转换为 ECPublicKey?我使用以下代码(稍微简化)将 ECPrivateKey 转换为 ECPublicKey:public static ECPublicKey getPublicKeyFromPrivateKey(ECPrivateKey privateKey) throws GeneralSecurityException {    final KeyFactory keyFactory = KeyFactory.getInstance("ECDSA", new BouncyCastleProvider());    final BCECPrivateKey bcecPrivateKey = (BCECPrivateKey) privateKey;    final ECParameterSpec ecSpec = bcecPrivateKey.getParameters();    final ECPoint q = ecSpec.getG().multiply(bcecPrivateKey.getD());    final byte[] qBytes = q.getEncoded(false);    final ECPoint point = ecSpec.getCurve().decodePoint(qBytes);    final ECPublicKeySpec pubSpec = new ECPublicKeySpec(point, ecSpec);    return (ECPublicKey) keyFactory.generatePublic(pubSpec);}这对于非 FIPS BouncyCastle 工作正常。现在,我们需要以符合 FIPS 的方式做同样的事情。这里的问题是像 ECParameterSpec 这样的类在 FIPS BouncyCastle 1.0.1 中似乎不存在。我们如何使用 FIPS BouncyCastle 做同样的事情?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信