Update:
The external public key is now accepted.
The only thing not working is the signature test itself.
StringSource verify(message+signature, true,
new SignatureVerificationFilter(
ECDSA<EC2N,SHA256>::Verifier(pKey),
new ArraySink( (byte*)&result, sizeof(result) )
) // SignatureVerificationFilter
);
// Verification failure?
if(!result)
{
cout << "Signature check failed !!!\r" << endl;
}
else
{
cout << "Signature check succeed !!!\r" << endl;
}
Am Mittwoch, 1. Oktober 2014 16:14:42 UTC+2 schrieb Robert Zillner:
>
> Hello everyone,
>
> may someone help me with checking a signature using crypto++.
>
> My situation:
>
> 1. A mesage is signed externally using an ATECC108 chip (K283 curve).
> 2. The public key is available as 2 byte atrrays (36 byte X and 36 byte Y
> component).
> 3. Initializing a public key in crypto++ throws an error on validating the
> public key "CryptoMaterial: this object contains invalid values"
>
> i´m using this code to check a signature
>
>
> PolynomialMod2 X(pubKey, 36);
> PolynomialMod2 Y(&pubKey[36], 36);
> EC2N::Point D(X, Y);
>
> ECDSA<EC2N, SHA256>::PublicKey pKey;
> pKey.Initialize(oid, D);
>
> result = pKey.Validate( prng, 3);
> if( !result )
> {
> cout << "Validation of public key failed !!!" << endl;
> }
>
> StringSource sss(signature+message, true,
> new SignatureVerificationFilter(
> ECDSA<EC2N,SHA256>::Verifier(pKey),
> new ArraySink( (byte*)&result, sizeof(result) )
> ) // SignatureVerificationFilter
> );
>
> if( !result )
> {
> cout << "Signature check failed !!!" << endl;
> }
> else
> {
> cout << "Signature check succeed !!!" << endl;
> }
>
>
> Using the crypto++ library to sign and to check works fine, but
> initializing and using a public key goes wrong.
>
> Can anyone help?
>
> BR
>
> Robert
>
--
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.
---
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.