Недоступен ли ECDSA для KeyFactory BouncyCastle

#java #cryptography

#java #криптография

Вопрос:

Я получаю следующее исключение, когда пытаюсь получить экземпляр ECDSA от KeyFactory java.security.Исключение NoSuchAlgorithmException: ECDSA KeyFactory недоступен

Я пытаюсь таким образом

 X9ECParameters curve = SECNamedCurves.getByName("secp256r1"); 
ECPoint point = curve.getCurve().decodePoint(decode(PublicKey));
pubKey = KeyFactory.getInstance("ECDSA")
                   .generatePublic(
                       new ECPublicKeySpec(point,
                           new ECParameterSpec(curve.getCurve(),curve.getG(),curve.getN(),curve.getH())
                       )
                    );
  

Комментарии:

1. Да, поставщик BC имеет фабрики ECDSA (также ECDH и ECDHC, а также обычный EC) как минимум с 1.42. Вы уверены, что поставщик BC есть в вашем списке поставщиков на момент этого вызова? Что произойдет, если вы укажете это явно getInstance("ECDSA","BC") ?

2. Я пробовал, что у меня нет такого поставщика в качестве исключения

3. Тогда поставщика нет в вашем списке поставщиков. Вы (пытались) поместить его туда, либо настроив в java.security файле, либо вызвав java.security.Security.{addProvider,insertProvider} ?

4. Спасибо, проблема была решена путем добавления поставщика