diff options
author | Nikos <nmav@crystal.(none)> | 2008-04-02 20:03:40 +0300 |
---|---|---|
committer | Nikos <nmav@crystal.(none)> | 2008-04-02 20:03:40 +0300 |
commit | e44ffc7fe0908a315bae5cca0da3d770466fb038 (patch) | |
tree | 4e9f4682592bf485933de4435d29d63f664aac9c /lib | |
parent | 88d0ddd7a131a8a32b30023607498cdefc103249 (diff) | |
download | gnutls-e44ffc7fe0908a315bae5cca0da3d770466fb038.tar.gz |
Add proper ARMOR header in private keys.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/openpgp/openpgp_int.h | 2 | ||||
-rw-r--r-- | lib/openpgp/pgp.c | 8 | ||||
-rw-r--r-- | lib/openpgp/privkey.c | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/lib/openpgp/openpgp_int.h b/lib/openpgp/openpgp_int.h index 2030d38371..6175743718 100644 --- a/lib/openpgp/openpgp_int.h +++ b/lib/openpgp/openpgp_int.h @@ -40,7 +40,7 @@ int _gnutls_map_cdk_rc (int rc); int _gnutls_openpgp_export (cdk_kbnode_t node, gnutls_openpgp_crt_fmt_t format, - void *output_data, size_t * output_data_size); + void *output_data, size_t * output_data_size, int private); int _gnutls_openpgp_crt_to_gcert (gnutls_cert * gcert, gnutls_openpgp_crt_t cert); diff --git a/lib/openpgp/pgp.c b/lib/openpgp/pgp.c index 344cefabcc..2646d0fe8a 100644 --- a/lib/openpgp/pgp.c +++ b/lib/openpgp/pgp.c @@ -123,7 +123,7 @@ gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, */ int _gnutls_openpgp_export (cdk_kbnode_t node, gnutls_openpgp_crt_fmt_t format, - void *output_data, size_t * output_data_size) + void *output_data, size_t * output_data_size, int private) { size_t input_data_size = *output_data_size; size_t calc_size; @@ -153,7 +153,7 @@ int _gnutls_openpgp_export (cdk_kbnode_t node, /* Calculate the size of the encoded data and check if the provided buffer is large enough. */ rc = cdk_armor_encode_buffer (in, *output_data_size, - NULL, 0, &calc_size, CDK_ARMOR_PUBKEY); + NULL, 0, &calc_size, private?CDK_ARMOR_SECKEY:CDK_ARMOR_PUBKEY); if (rc || calc_size > input_data_size) { cdk_free (in); @@ -164,7 +164,7 @@ int _gnutls_openpgp_export (cdk_kbnode_t node, rc = cdk_armor_encode_buffer (in, *output_data_size, output_data, input_data_size, &calc_size, - CDK_ARMOR_PUBKEY); + private?CDK_ARMOR_SECKEY:CDK_ARMOR_PUBKEY); cdk_free (in); *output_data_size = calc_size; } @@ -192,7 +192,7 @@ gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, void *output_data, size_t * output_data_size) { - return _gnutls_openpgp_export( key->knode, format, output_data, output_data_size); + return _gnutls_openpgp_export( key->knode, format, output_data, output_data_size, 0); } diff --git a/lib/openpgp/privkey.c b/lib/openpgp/privkey.c index e772935a00..c7e5e7ec9e 100644 --- a/lib/openpgp/privkey.c +++ b/lib/openpgp/privkey.c @@ -146,7 +146,7 @@ gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, void *output_data, size_t * output_data_size) { /* FIXME for now we do not export encrypted keys */ - return _gnutls_openpgp_export( key->knode, format, output_data, output_data_size); + return _gnutls_openpgp_export( key->knode, format, output_data, output_data_size, 1); } |