summaryrefslogtreecommitdiffstats
path: root/examples/pk.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-07 22:54:53 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-07 22:54:53 +0200
commitada6106692c72168dbe4defd2ec44f273c670e88 (patch)
tree1fc8ef20085a4e320c8072f242f8db42e41e9ebd /examples/pk.c
parent2acb2200b547f89a6f8e745c65ebd49300012cc6 (diff)
downloadcryptodev-linux-ada6106692c72168dbe4defd2ec44f273c670e88.tar.gz
cryptodev-linux-ada6106692c72168dbe4defd2ec44f273c670e88.tar.xz
cryptodev-linux-ada6106692c72168dbe4defd2ec44f273c670e88.zip
Several fixes. RSA key generation tested and works.
Diffstat (limited to 'examples/pk.c')
-rw-r--r--examples/pk.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/examples/pk.c b/examples/pk.c
index 926d991..1513d62 100644
--- a/examples/pk.c
+++ b/examples/pk.c
@@ -108,18 +108,23 @@ int privkey_info (void* data, int data_size)
size_t size;
int ret;
gnutls_datum_t pem;
- unsigned char buffer[256];
+ unsigned char buffer[5*1024];
const char *cprint;
- gnutls_x509_privkey_init (&key);
+ ret = gnutls_x509_privkey_init (&key);
+ if (ret < 0) {
+ fprintf(stderr, "error in privkey_init\n");
+ return 1;
+ }
pem.data = data;
pem.size = data_size;
ret = gnutls_x509_privkey_import (key, &pem, GNUTLS_X509_FMT_DER);
-
- if (ret < 0)
- return 1;
+ if (ret < 0) {
+ fprintf(stderr, "unable to import privkey\n");
+ return 1;
+ }
/* Public key algorithm
*/
@@ -133,9 +138,10 @@ int privkey_info (void* data, int data_size)
/* Print the raw public and private keys
*/
if (ret == GNUTLS_PK_RSA) {
- gnutls_datum_t m, e, d, p, q, u, exp1, exp2;
+ gnutls_datum_t m, e, d, p, q, u, exp1={NULL,0}, exp2={NULL,0};
- ret = gnutls_x509_privkey_export_rsa_raw2 (key, &m, &e, &d, &p, &q, &u, &exp1, &exp2);
+ //ret = gnutls_x509_privkey_export_rsa_raw2 (key, &m, &e, &d, &p, &q, &u, &exp1, &exp2);
+ ret = gnutls_x509_privkey_export_rsa_raw (key, &m, &e, &d, &p, &q, &u);
if (ret < 0)
fprintf (stderr, "Error in key RSA data export: %s\n",
gnutls_strerror (ret));
@@ -255,7 +261,7 @@ test_ncr_rsa(int cfd)
if (ioctl(cfd, NCRIO_KEY_EXPORT, &keydata)) {
fprintf(stderr, "Error: %s:%d\n", __func__, __LINE__);
- perror("ioctl(NCRIO_KEY_IMPORT)");
+ perror("ioctl(NCRIO_KEY_EXPORT)");
return 1;
}
@@ -272,9 +278,9 @@ test_ncr_rsa(int cfd)
perror("ioctl(NCRIO_DATA_GET)");
return 1;
}
-
+
ret = privkey_info(kdata.data, kdata.data_size);
- if (ret < 0) {
+ if (ret != 0) {
fprintf(stderr, "Error: %s:%d\n", __func__, __LINE__);
return 1;
}
@@ -323,6 +329,8 @@ main()
{
int fd = -1;
+ gnutls_global_init();
+
/* actually test if the initial close
* will really delete all used lists */