Я пытаюсь воссоздать ECPublicKey (сгенерированный смарт-картой) в java с помощью BouncyCastle.
У меня есть этот код, найденный из примера в Интернете:
KeyFactory keyFact = KeyFactory.getInstance("EC");
ECNamedCurveParameterSpec paramSpec = ECNamedCurveTable.getParameterSpec("secp256k1");
ECParameterSpec params = new ECNamedCurveSpec("secp256k1", paramSpec.getCurve(), paramSpec.getG(), paramSpec.getN(), paramSpec.getH());
ECPublicKey ecPublicKey = (ECPublicKey) keyFact.generatePublic(new ECPublicKeySpec(w, params));
(w — это ECPoint, составленный из значений x и y, которые я получил от смарт-карты)
Что такое п и ч? Являются ли они кофактором и порядком кофактора g или чем-то еще?
Есть ли еще значения, которые мне нужно получить с карты, чтобы восстановить ключ?




Это действительно полезно, спасибо!