diff options
Diffstat (limited to 'tests/key-import-export.c')
-rw-r--r-- | tests/key-import-export.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/key-import-export.c b/tests/key-import-export.c index e28b21a4f2..fc6c25e6a7 100644 --- a/tests/key-import-export.c +++ b/tests/key-import-export.c @@ -367,6 +367,38 @@ int check_privkey_import_export(void) gnutls_privkey_deinit(key); } + /* Optional private exponent */ + ret = gnutls_privkey_init(&key); + if (ret < 0) + fail("error\n"); + + ret = gnutls_privkey_import_rsa_raw(key, &_rsa_m, &_rsa_e, NULL, &_rsa_p, &_rsa_q, NULL, NULL, NULL); + if (ret < 0) + fail("error\n"); + + ret = gnutls_privkey_export_rsa_raw2(key, &m, &e, &d, &p, &q, &u, &e1, &e2, 0); + if (ret < 0) + fail("error\n"); + + CMP("m", &m, rsa_m); + CMP("e", &e, rsa_e); + CMP("d", &d, rsa_d); + CMP("p", &p, rsa_p); + CMP("q", &q, rsa_q); + CMP("u", &u, rsa_u); + CMP("e1", &e1, rsa_e1); + CMP("e2", &e2, rsa_e2); + gnutls_free(m.data); + gnutls_free(e.data); + gnutls_free(d.data); + gnutls_free(p.data); + gnutls_free(q.data); + gnutls_free(u.data); + gnutls_free(e1.data); + gnutls_free(e2.data); + + gnutls_privkey_deinit(key); + ret = gnutls_privkey_init(&key); if (ret < 0) fail("error\n"); |