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.

Reply via email to