summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2006-03-08 16:36:12 +0000
committerSimon Josefsson <simon@josefsson.org>2006-03-08 16:36:12 +0000
commit79af6cb1706eca131e3fedf1f0307d9ac14dd268 (patch)
tree25945221d42c8b6ed56430e1887276d375d47b03
parent30106e6b41f1ad40a386ea0f52780dccabf4e924 (diff)
downloadgnutls-79af6cb1706eca131e3fedf1f0307d9ac14dd268.tar.gz
Use new asn1_copy_node API.
-rw-r--r--lib/x509/common.c41
-rw-r--r--lib/x509/sign.c7
-rw-r--r--lib/x509/x509_write.c21
3 files changed, 12 insertions, 57 deletions
diff --git a/lib/x509/common.c b/lib/x509/common.c
index 999ef80822..2872bec895 100644
--- a/lib/x509/common.c
+++ b/lib/x509/common.c
@@ -1364,47 +1364,6 @@ _gnutls_x509_get_pk_algorithm (ASN1_TYPE src, const char *src_name,
return algo;
}
-int
-_gnutls_asn1_copy_node (ASN1_TYPE * dst, const char *dst_name,
- ASN1_TYPE src, const char *src_name)
-{
-
- int result;
- gnutls_datum_t der;
- ASN1_TYPE dst_node;
-
- result = _gnutls_x509_der_encode (src, src_name, &der, 0);
- if (result < 0)
- {
- gnutls_assert ();
- return result;
- }
-
- dst_node = asn1_find_node (*dst, dst_name);
- if (dst_node == NULL)
- {
- gnutls_assert ();
- return _gnutls_asn2err (ASN1_ELEMENT_NOT_FOUND);
- }
-
- result = asn1_der_decoding (&dst_node, der.data, der.size, NULL);
-
-#if 0
- result = asn1_der_decoding_element (dst, dst_name, der.data,
- der.size, NULL);
-#endif
-
- _gnutls_free_datum (&der);
-
- if (result != ASN1_SUCCESS)
- {
- gnutls_assert ();
- return _gnutls_asn2err (result);
- }
-
- return 0;
-}
-
/* Reads the DER signed data from the certificate and allocates space and
* returns them into signed_data.
*/
diff --git a/lib/x509/sign.c b/lib/x509/sign.c
index a24fcc3822..714781966d 100644
--- a/lib/x509/sign.c
+++ b/lib/x509/sign.c
@@ -317,12 +317,11 @@ _gnutls_x509_pkix_sign (ASN1_TYPE src, const char *src_name,
_gnutls_str_cpy (name, sizeof (name), src_name);
_gnutls_str_cat (name, sizeof (name), ".issuer");
- result = _gnutls_asn1_copy_node (&src, name,
- issuer->cert, "tbsCertificate.subject");
- if (result < 0)
+ result = asn1_copy_node (src, name, issuer->cert, "tbsCertificate.subject");
+ if (result != ASN1_SUCCESS)
{
gnutls_assert ();
- return result;
+ return _gnutls_asn2err (result);
}
/* Step 1.5. Write the signature stuff in the tbsCertificate.
diff --git a/lib/x509/x509_write.c b/lib/x509/x509_write.c
index f8c2bb72f2..3708160b56 100644
--- a/lib/x509/x509_write.c
+++ b/lib/x509/x509_write.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2003, 2004, 2005 Free Software Foundation
+ * Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
*
* Author: Nikos Mavroyanopoulos
*
@@ -216,24 +216,21 @@ gnutls_x509_crt_set_crq (gnutls_x509_crt_t crt, gnutls_x509_crq_t crq)
pk_algorithm = gnutls_x509_crq_get_pk_algorithm (crq, NULL);
- result = _gnutls_asn1_copy_node (&crt->cert, "tbsCertificate.subject",
- crq->crq,
- "certificationRequestInfo.subject");
- if (result < 0)
+ result = asn1_copy_node (crt->cert, "tbsCertificate.subject",
+ crq->crq, "certificationRequestInfo.subject");
+ if (result != ASN1_SUCCESS)
{
gnutls_assert ();
- return result;
+ return _gnutls_asn2err (result);
}
result =
- _gnutls_asn1_copy_node (&crt->cert,
- "tbsCertificate.subjectPublicKeyInfo",
- crq->crq,
- "certificationRequestInfo.subjectPKInfo");
- if (result < 0)
+ asn1_copy_node (crt->cert, "tbsCertificate.subjectPublicKeyInfo",
+ crq->crq, "certificationRequestInfo.subjectPKInfo");
+ if (result != ASN1_SUCCESS)
{
gnutls_assert ();
- return result;
+ return _gnutls_asn2err (result);
}
return 0;