Привет,
Таким образом, вы сказали, что вы не возражаете, отвечая на любой вопрос относительно this-
Так что я работаю над проектом, и мне нужно, чтобы проверить подпись, данное мне.
Когда я как генерировать & проверить подпись, все работает отлично, но когда я пытаюсь проверить подпись другого парня она расправляется говоря: "ошибка декодирования подписи байта.", В частности, я узнал, что это дробит здесь:
ASN1InputStream Ain = новые ASN1InputStream (signature.getBytes ());
пытаться {
ASN1Sequence s = (ASN1Sequence) aIn.readObject (); / * дробление на этой линии точно ... * /
} Поймать (IOException е) {
}
Я прикрепил функции, связанные ...
частный PublicKey generatePublicKey (Point pPublicKey, String sCurve)
бросает IOException, NoSuchAlgorithmException,
NoSuchProviderException, InvalidKeySpecException,
InvalidAlgorithmParameterException {
X9ECParameters ecParams = NISTNamedCurves.getByName (sCurve);
ECPoint pPublicPoint = ecParams.getCurve (). CreatePoint (pPublicKey.x,
pPublicKey.y, ложь);
ECParameterSpec спецификация = новый ECParameterSpec (ecParams.getCurve (),
ecParams.getG (), ecParams.getN ());
ECPublicKeySpec publicSpec = новый ECPublicKeySpec (pPublicPoint, спецификации);
KeyFactory keyfac = KeyFactory.getInstance ("ECDSA", "LOCAL_BC");
вернуть keyfac.generatePublic (publicSpec);
}
общественного ECDSAVerifier (Point PKEY, String Шаш, String sCurve)
бросает InvalidKeyException, NoSuchAlgorithmException,
NoSuchProviderException, InvalidKeySpecException, IOException,
InvalidAlgorithmParameterException {
this.key = generatePublicKey (PKey, sCurve);
this.hashName = Shash;
ECDSAGenerateVerifier ();
}
частная пустота ECDSAGenerateVerifier () бросает NoSuchAlgorithmException,
NoSuchProviderException, InvalidKeyException {
this.verifier = Signature.getInstance (this.hashName, "LOCAL_BC");
this.verifier.initVerify (this.key);
}
общественные Логические проверить (байты [] сообщение, байты [] подпись)
бросает SignatureException, InvalidKeyException {
this.verifier.update (сообщение);
вернуть this.verifier.verify (подпись); / * Код дробит здесь ... * /
}