RSA sign/verify and hash generation functions
Murray S. Kucherawy
msk at cloudmark.com
Thu Dec 16 18:49:39 CET 2010
> -----Original Message-----
> From: Nikos Mavrogiannopoulos [mailto:n.mavrogiannopoulos at gmail.com] Of Behalf Of Nikos Mavrogiannopoulos
> Sent: Thursday, December 16, 2010 8:12 AM
> To: Murray S. Kucherawy
> Cc: help-gnutls at gnu.org
> Subject: Re: RSA sign/verify and hash generation functions
>
> > One thing I need that this public key interface doesn't appear to
> > have is a way to get the key size from a public key. Could that be
> > added, or if it's there someplace, can you point me to it?
>
> What do you mean by key size? The indicator returned by
> gnutls_pubkey_get_pk_algorithm()?
It's telling me the key is zero bits long. My call sequence is:
bits = 0;
gnutls_pubkey_init(&X)
gnutls_pubkey_import(X, &keydata, GNUTLS_X509_FMT_DER);
gnutls_pubkey_verify_hash(X, 0, &digest, &signature); <== works; returns 1
gnutls_pubkey_get_pk_algorithm(X, &bits);
assert(bits > 0); <== FAILS
It looks like key->bits is never set to anything by gnutls_pubkey_import().
> I've just added (not tested yet) gnutls_pubkey_import_privkey() that
> will import the public parameters from a gnutls_privkey_t structure.
>
> Thus it would still be quite some calls, but you don't need to export
> anything. How does it look?
>
> gnutls_x509_privkey_init(A)
> gnutls_x509_privkey_import(A)
> gnutls_privkey_init(P)
> gnutls_privkey_import_x509(P,A)
> gnutls_pubkey_init(B)
> gnutls_pubkey_import_privkey(B,P)
Works for me. Let me know when you'd like me to grab a snapshot and try it.
-MSK
More information about the Gnutls-help
mailing list