diff options
author | Simon Josefsson <simon@josefsson.org> | 2006-03-08 16:36:12 +0000 |
---|---|---|
committer | Simon Josefsson <simon@josefsson.org> | 2006-03-08 16:36:12 +0000 |
commit | 79af6cb1706eca131e3fedf1f0307d9ac14dd268 (patch) | |
tree | 25945221d42c8b6ed56430e1887276d375d47b03 | |
parent | 30106e6b41f1ad40a386ea0f52780dccabf4e924 (diff) | |
download | gnutls-79af6cb1706eca131e3fedf1f0307d9ac14dd268.tar.gz |
Use new asn1_copy_node API.
-rw-r--r-- | lib/x509/common.c | 41 | ||||
-rw-r--r-- | lib/x509/sign.c | 7 | ||||
-rw-r--r-- | lib/x509/x509_write.c | 21 |
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; |