summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNikos <nmav@crystal.(none)>2008-04-02 20:03:40 +0300
committerNikos <nmav@crystal.(none)>2008-04-02 20:03:40 +0300
commite44ffc7fe0908a315bae5cca0da3d770466fb038 (patch)
tree4e9f4682592bf485933de4435d29d63f664aac9c /lib
parent88d0ddd7a131a8a32b30023607498cdefc103249 (diff)
downloadgnutls-e44ffc7fe0908a315bae5cca0da3d770466fb038.tar.gz
Add proper ARMOR header in private keys.
Diffstat (limited to 'lib')
-rw-r--r--lib/openpgp/openpgp_int.h2
-rw-r--r--lib/openpgp/pgp.c8
-rw-r--r--lib/openpgp/privkey.c2
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);
}