From 36ade8b5097f0a4e1a3766edfc78e91ebc0b7efe Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 21 Feb 2011 18:50:50 +0100 Subject: [PATCH] hx509: Make various functions used by Samba public. * hx509_cert_public_encrypt * hx509_parse_private_key * hx509_private_key_assign_rsa * hx509_private_key_free * hx509_private_key_private_decrypt * hx509_private_key_init * hx509_private_key2SPKI * hx509_request_get_name * hx509_request_get_SubjectPublicKeyInfo * hx509_request_free * hx509_request_init * hx509_request_set_name * hx509_request_set_SubjectPublicKeyInfo Signed-off-by: Love Hornquist Astrand --- lib/hx509/cert.c | 8 ++++---- lib/hx509/cms.c | 2 +- lib/hx509/collector.c | 4 ++-- lib/hx509/crypto.c | 20 ++++++++++---------- lib/hx509/hxtool.c | 36 ++++++++++++++++++------------------ lib/hx509/keyset.c | 2 +- lib/hx509/ks_keychain.c | 4 ++-- lib/hx509/ks_mem.c | 4 ++-- lib/hx509/ks_p11.c | 6 +++--- lib/hx509/req.c | 24 ++++++++++++------------ lib/hx509/version-script.map | 26 +++++++++++++------------- 11 files changed, 68 insertions(+), 68 deletions(-) diff --git a/lib/hx509/cert.c b/lib/hx509/cert.c index 93a172e55..7f95ea556 100644 --- a/lib/hx509/cert.c +++ b/lib/hx509/cert.c @@ -310,7 +310,7 @@ int _hx509_cert_assign_key(hx509_cert cert, hx509_private_key private_key) { if (cert->private_key) - _hx509_private_key_free(&cert->private_key); + hx509_private_key_free(&cert->private_key); cert->private_key = _hx509_private_key_ref(private_key); return 0; } @@ -341,7 +341,7 @@ hx509_cert_free(hx509_cert cert) (cert->release)(cert, cert->ctx); if (cert->private_key) - _hx509_private_key_free(&cert->private_key); + hx509_private_key_free(&cert->private_key); free_Certificate(cert->data); free(cert->data); @@ -1607,7 +1607,7 @@ _hx509_cert_private_decrypt(hx509_context context, return HX509_PRIVATE_KEY_MISSING; } - return _hx509_private_key_private_decrypt(context, + return hx509_private_key_private_decrypt(context, ciphertext, encryption_oid, p->private_key, @@ -1615,7 +1615,7 @@ _hx509_cert_private_decrypt(hx509_context context, } int -_hx509_cert_public_encrypt(hx509_context context, +hx509_cert_public_encrypt(hx509_context context, const heim_octet_string *cleartext, const hx509_cert p, heim_oid *encryption_oid, diff --git a/lib/hx509/cms.c b/lib/hx509/cms.c index 3aefd2651..6e4eefaa1 100644 --- a/lib/hx509/cms.c +++ b/lib/hx509/cms.c @@ -665,7 +665,7 @@ hx509_cms_envelope_1(hx509_context context, goto out; } - ret = _hx509_cert_public_encrypt(context, + ret = hx509_cert_public_encrypt(context, &key, cert, &ri->keyEncryptionAlgorithm.algorithm, &ri->encryptedKey); diff --git a/lib/hx509/collector.c b/lib/hx509/collector.c index 1a44de00a..0cb186399 100644 --- a/lib/hx509/collector.c +++ b/lib/hx509/collector.c @@ -105,7 +105,7 @@ free_private_key(struct private_key *key) { free_AlgorithmIdentifier(&key->alg); if (key->private_key) - _hx509_private_key_free(&key->private_key); + hx509_private_key_free(&key->private_key); der_free_octet_string(&key->localKeyId); free(key); } @@ -143,7 +143,7 @@ _hx509_collector_private_key_add(hx509_context context, if (private_key) { key->private_key = private_key; } else { - ret = _hx509_parse_private_key(context, alg, + ret = hx509_parse_private_key(context, alg, key_data->data, key_data->length, HX509_KEY_FORMAT_DER, &key->private_key); diff --git a/lib/hx509/crypto.c b/lib/hx509/crypto.c index 5d66b681d..c69ddfb5d 100644 --- a/lib/hx509/crypto.c +++ b/lib/hx509/crypto.c @@ -1715,7 +1715,7 @@ _hx509_public_encrypt(hx509_context context, } int -_hx509_private_key_private_decrypt(hx509_context context, +hx509_private_key_private_decrypt(hx509_context context, const heim_octet_string *ciphertext, const heim_oid *encryption_oid, hx509_private_key p, @@ -1758,7 +1758,7 @@ _hx509_private_key_private_decrypt(hx509_context context, int -_hx509_parse_private_key(hx509_context context, +hx509_parse_private_key(hx509_context context, const AlgorithmIdentifier *keyai, const void *data, size_t len, @@ -1776,7 +1776,7 @@ _hx509_parse_private_key(hx509_context context, return HX509_SIG_ALG_NO_SUPPORTED; } - ret = _hx509_private_key_init(private_key, ops, NULL); + ret = hx509_private_key_init(private_key, ops, NULL); if (ret) { hx509_set_error_string(context, 0, ret, "out of memory"); return ret; @@ -1784,7 +1784,7 @@ _hx509_parse_private_key(hx509_context context, ret = (*ops->import)(context, keyai, data, len, format, *private_key); if (ret) - _hx509_private_key_free(private_key); + hx509_private_key_free(private_key); return ret; } @@ -1794,7 +1794,7 @@ _hx509_parse_private_key(hx509_context context, */ int -_hx509_private_key2SPKI(hx509_context context, +hx509_private_key2SPKI(hx509_context context, hx509_private_key private_key, SubjectPublicKeyInfo *spki) { @@ -1871,7 +1871,7 @@ _hx509_generate_private_key(hx509_context context, return HX509_SIG_ALG_NO_SUPPORTED; } - ret = _hx509_private_key_init(private_key, ops, NULL); + ret = hx509_private_key_init(private_key, ops, NULL); if (ret) { hx509_set_error_string(context, 0, ret, "out of memory"); return ret; @@ -1879,7 +1879,7 @@ _hx509_generate_private_key(hx509_context context, ret = (*ops->generate_private_key)(context, ctx, *private_key); if (ret) - _hx509_private_key_free(private_key); + hx509_private_key_free(private_key); return ret; } @@ -1976,7 +1976,7 @@ const AlgorithmIdentifier * _hx509_crypto_default_secret_alg = */ int -_hx509_private_key_init(hx509_private_key *key, +hx509_private_key_init(hx509_private_key *key, hx509_private_key_ops *ops, void *keydata) { @@ -2007,7 +2007,7 @@ _hx509_private_pem_name(hx509_private_key key) } int -_hx509_private_key_free(hx509_private_key *key) +hx509_private_key_free(hx509_private_key *key) { if (key == NULL || *key == NULL) return 0; @@ -2033,7 +2033,7 @@ _hx509_private_key_free(hx509_private_key *key) } void -_hx509_private_key_assign_rsa(hx509_private_key key, void *ptr) +hx509_private_key_assign_rsa(hx509_private_key key, void *ptr) { if (key->private_key.rsa) RSA_free(key->private_key.rsa); diff --git a/lib/hx509/hxtool.c b/lib/hx509/hxtool.c index 54b579921..1770b6095 100644 --- a/lib/hx509/hxtool.c +++ b/lib/hx509/hxtool.c @@ -1294,7 +1294,7 @@ request_create(struct request_create_options *opt, int argc, char **argv) opt->key_bits_integer, &signer); - _hx509_request_init(context, &req); + hx509_request_init(context, &req); if (opt->subject_string) { hx509_name name = NULL; @@ -1302,7 +1302,7 @@ request_create(struct request_create_options *opt, int argc, char **argv) ret = hx509_parse_name(context, opt->subject_string, &name); if (ret) errx(1, "hx509_parse_name: %d\n", ret); - _hx509_request_set_name(context, req, name); + hx509_request_set_name(context, req, name); if (opt->verbose_flag) { char *s; @@ -1327,16 +1327,16 @@ request_create(struct request_create_options *opt, int argc, char **argv) } - ret = _hx509_private_key2SPKI(context, signer, &key); + ret = hx509_private_key2SPKI(context, signer, &key); if (ret) - errx(1, "_hx509_private_key2SPKI: %d\n", ret); + errx(1, "hx509_private_key2SPKI: %d\n", ret); - ret = _hx509_request_set_SubjectPublicKeyInfo(context, + ret = hx509_request_set_SubjectPublicKeyInfo(context, req, &key); free_SubjectPublicKeyInfo(&key); if (ret) - hx509_err(context, 1, ret, "_hx509_request_set_SubjectPublicKeyInfo"); + hx509_err(context, 1, ret, "hx509_request_set_SubjectPublicKeyInfo"); ret = _hx509_request_to_pkcs10(context, req, @@ -1345,8 +1345,8 @@ request_create(struct request_create_options *opt, int argc, char **argv) if (ret) hx509_err(context, 1, ret, "_hx509_request_to_pkcs10"); - _hx509_private_key_free(&signer); - _hx509_request_free(&req); + hx509_private_key_free(&signer); + hx509_request_free(&req); if (ret == 0) rk_dumpdata(outfile, request.data, request.length); @@ -1370,7 +1370,7 @@ request_print(struct request_print_options *opt, int argc, char **argv) hx509_err(context, 1, ret, "parse_request: %s", argv[i]); ret = _hx509_request_print(context, req, stdout); - _hx509_request_free(&req); + hx509_request_free(&req); if (ret) hx509_err(context, 1, ret, "Failed to print file %s", argv[i]); } @@ -1814,9 +1814,9 @@ hxtool_ca(struct certificate_sign_options *opt, int argc, char **argv) if (ret) err(1, "read_private_key"); - ret = _hx509_private_key2SPKI(context, private_key, &spki); + ret = hx509_private_key2SPKI(context, private_key, &spki); if (ret) - errx(1, "_hx509_private_key2SPKI: %d\n", ret); + errx(1, "hx509_private_key2SPKI: %d\n", ret); if (opt->self_signed_flag) cert_key = private_key; @@ -1828,13 +1828,13 @@ hxtool_ca(struct certificate_sign_options *opt, int argc, char **argv) ret = _hx509_request_parse(context, opt->req_string, &req); if (ret) hx509_err(context, 1, ret, "parse_request: %s", opt->req_string); - ret = _hx509_request_get_name(context, req, &subject); + ret = hx509_request_get_name(context, req, &subject); if (ret) hx509_err(context, 1, ret, "get name"); - ret = _hx509_request_get_SubjectPublicKeyInfo(context, req, &spki); + ret = hx509_request_get_SubjectPublicKeyInfo(context, req, &spki); if (ret) hx509_err(context, 1, ret, "get spki"); - _hx509_request_free(&req); + hx509_request_free(&req); } if (opt->generate_key_string) { @@ -1859,9 +1859,9 @@ hxtool_ca(struct certificate_sign_options *opt, int argc, char **argv) if (ret) hx509_err(context, 1, ret, "generate private key"); - ret = _hx509_private_key2SPKI(context, cert_key, &spki); + ret = hx509_private_key2SPKI(context, cert_key, &spki); if (ret) - errx(1, "_hx509_private_key2SPKI: %d\n", ret); + errx(1, "hx509_private_key2SPKI: %d\n", ret); if (opt->self_signed_flag) private_key = cert_key; @@ -2015,8 +2015,8 @@ hxtool_ca(struct certificate_sign_options *opt, int argc, char **argv) free_SubjectPublicKeyInfo(&spki); if (private_key != cert_key) - _hx509_private_key_free(&private_key); - _hx509_private_key_free(&cert_key); + hx509_private_key_free(&private_key); + hx509_private_key_free(&cert_key); hx509_ca_tbs_free(&tbs); diff --git a/lib/hx509/keyset.c b/lib/hx509/keyset.c index 465ca1b4d..77cfd42cd 100644 --- a/lib/hx509/keyset.c +++ b/lib/hx509/keyset.c @@ -781,6 +781,6 @@ _hx509_certs_keys_free(hx509_context context, { int i; for (i = 0; keys[i]; i++) - _hx509_private_key_free(&keys[i]); + hx509_private_key_free(&keys[i]); free(keys); } diff --git a/lib/hx509/ks_keychain.c b/lib/hx509/ks_keychain.c index 9c6521790..e64d83c84 100644 --- a/lib/hx509/ks_keychain.c +++ b/lib/hx509/ks_keychain.c @@ -259,7 +259,7 @@ set_private_key(hx509_context context, RSA *rsa; int ret; - ret = _hx509_private_key_init(&key, NULL, NULL); + ret = hx509_private_key_init(&key, NULL, NULL); if (ret) return ret; @@ -302,7 +302,7 @@ set_private_key(hx509_context context, if (ret != 1) _hx509_abort("RSA_set_app_data"); - _hx509_private_key_assign_rsa(key, rsa); + hx509_private_key_assign_rsa(key, rsa); _hx509_cert_assign_key(cert, key); return 0; diff --git a/lib/hx509/ks_mem.c b/lib/hx509/ks_mem.c index 299a3932c..9d3c66b29 100644 --- a/lib/hx509/ks_mem.c +++ b/lib/hx509/ks_mem.c @@ -78,7 +78,7 @@ mem_free(hx509_certs certs, void *data) hx509_cert_free(mem->certs.val[i]); free(mem->certs.val); for (i = 0; mem->keys && mem->keys[i]; i++) - _hx509_private_key_free(&mem->keys[i]); + hx509_private_key_free(&mem->keys[i]); free(mem->keys); free(mem->name); free(mem); @@ -167,7 +167,7 @@ mem_getkeys(hx509_context context, (*keys)[i] = _hx509_private_key_ref(mem->keys[i]); if ((*keys)[i] == NULL) { while (--i >= 0) - _hx509_private_key_free(&(*keys)[i]); + hx509_private_key_free(&(*keys)[i]); hx509_set_error_string(context, 0, ENOMEM, "out of memory"); return ENOMEM; } diff --git a/lib/hx509/ks_p11.c b/lib/hx509/ks_p11.c index 23f6a4826..30f5343b0 100644 --- a/lib/hx509/ks_p11.c +++ b/lib/hx509/ks_p11.c @@ -613,7 +613,7 @@ collect_private_key(hx509_context context, localKeyId.data = query[0].pValue; localKeyId.length = query[0].ulValueLen; - ret = _hx509_private_key_init(&key, NULL, NULL); + ret = hx509_private_key_init(&key, NULL, NULL); if (ret) return ret; @@ -648,7 +648,7 @@ collect_private_key(hx509_context context, if (ret != 1) _hx509_abort("RSA_set_app_data"); - _hx509_private_key_assign_rsa(key, rsa); + hx509_private_key_assign_rsa(key, rsa); ret = _hx509_collector_private_key_add(context, collector, @@ -658,7 +658,7 @@ collect_private_key(hx509_context context, &localKeyId); if (ret) { - _hx509_private_key_free(&key); + hx509_private_key_free(&key); return ret; } return 0; diff --git a/lib/hx509/req.c b/lib/hx509/req.c index 917f08891..e70ab4b6c 100644 --- a/lib/hx509/req.c +++ b/lib/hx509/req.c @@ -46,7 +46,7 @@ struct hx509_request_data { */ int -_hx509_request_init(hx509_context context, hx509_request *req) +hx509_request_init(hx509_context context, hx509_request *req) { *req = calloc(1, sizeof(**req)); if (*req == NULL) @@ -56,7 +56,7 @@ _hx509_request_init(hx509_context context, hx509_request *req) } void -_hx509_request_free(hx509_request *req) +hx509_request_free(hx509_request *req) { if ((*req)->name) hx509_name_free(&(*req)->name); @@ -69,7 +69,7 @@ _hx509_request_free(hx509_request *req) } int -_hx509_request_set_name(hx509_context context, +hx509_request_set_name(hx509_context context, hx509_request req, hx509_name name) { @@ -84,7 +84,7 @@ _hx509_request_set_name(hx509_context context, } int -_hx509_request_get_name(hx509_context context, +hx509_request_get_name(hx509_context context, hx509_request req, hx509_name *name) { @@ -96,7 +96,7 @@ _hx509_request_get_name(hx509_context context, } int -_hx509_request_set_SubjectPublicKeyInfo(hx509_context context, +hx509_request_set_SubjectPublicKeyInfo(hx509_context context, hx509_request req, const SubjectPublicKeyInfo *key) { @@ -105,7 +105,7 @@ _hx509_request_set_SubjectPublicKeyInfo(hx509_context context, } int -_hx509_request_get_SubjectPublicKeyInfo(hx509_context context, +hx509_request_get_SubjectPublicKeyInfo(hx509_context context, hx509_request req, SubjectPublicKeyInfo *key) { @@ -271,7 +271,7 @@ _hx509_request_parse(hx509_context context, return ret; } - ret = _hx509_request_init(context, req); + ret = hx509_request_init(context, req); if (ret) { free_CertificationRequest(&r); return ret; @@ -279,25 +279,25 @@ _hx509_request_parse(hx509_context context, rinfo = &r.certificationRequestInfo; - ret = _hx509_request_set_SubjectPublicKeyInfo(context, *req, + ret = hx509_request_set_SubjectPublicKeyInfo(context, *req, &rinfo->subjectPKInfo); if (ret) { free_CertificationRequest(&r); - _hx509_request_free(req); + hx509_request_free(req); return ret; } ret = _hx509_name_from_Name(&rinfo->subject, &subject); if (ret) { free_CertificationRequest(&r); - _hx509_request_free(req); + hx509_request_free(req); return ret; } - ret = _hx509_request_set_name(context, *req, subject); + ret = hx509_request_set_name(context, *req, subject); hx509_name_free(&subject); free_CertificationRequest(&r); if (ret) { - _hx509_request_free(req); + hx509_request_free(req); return ret; } diff --git a/lib/hx509/version-script.map b/lib/hx509/version-script.map index 4748fa1d0..b05198c42 100644 --- a/lib/hx509/version-script.map +++ b/lib/hx509/version-script.map @@ -4,7 +4,6 @@ HEIMDAL_X509_1.2 { global: _hx509_cert_assign_key; _hx509_cert_private_key; - _hx509_cert_public_encrypt; _hx509_certs_keys_free; _hx509_certs_keys_get; _hx509_expr_eval; @@ -17,24 +16,12 @@ HEIMDAL_X509_1.2 { _hx509_generate_private_key_is_ca; _hx509_map_file_os; _hx509_name_from_Name; - _hx509_parse_private_key; - _hx509_private_key_assign_rsa; - _hx509_private_key2SPKI; - _hx509_private_key_free; - _hx509_private_key_init; - _hx509_private_key_private_decrypt; _hx509_private_key_ref; _hx509_request_add_dns_name; _hx509_request_add_email; - _hx509_request_free; - _hx509_request_get_SubjectPublicKeyInfo; - _hx509_request_get_name; - _hx509_request_init; _hx509_request_parse; _hx509_request_print; - _hx509_request_set_SubjectPublicKeyInfo; _hx509_request_set_email; - _hx509_request_set_name; _hx509_request_to_pkcs10; _hx509_request_to_pkcs10; _hx509_unmap_file_os; @@ -87,6 +74,7 @@ HEIMDAL_X509_1.2 { hx509_cert_init; hx509_cert_init_data; hx509_cert_keyusage_print; + hx509_cert_public_encrypt; hx509_cert_ref; hx509_cert_set_friendly_name; hx509_certs_add; @@ -180,6 +168,7 @@ HEIMDAL_X509_1.2 { hx509_oid_print; hx509_oid_sprint; hx509_parse_name; + hx509_parse_private_key; hx509_peer_info_add_cms_alg; hx509_peer_info_alloc; hx509_peer_info_free; @@ -192,6 +181,11 @@ HEIMDAL_X509_1.2 { hx509_pem_write; hx509_print_stdout; hx509_print_cert; + hx509_private_key_assign_rsa; + hx509_private_key_free; + hx509_private_key_private_decrypt; + hx509_private_key_init; + hx509_private_key2SPKI; hx509_prompt_hidden; hx509_query_alloc; hx509_query_free; @@ -203,6 +197,12 @@ HEIMDAL_X509_1.2 { hx509_query_match_option; hx509_query_statistic_file; hx509_query_unparse_stats; + hx509_request_get_name; + hx509_request_get_SubjectPublicKeyInfo; + hx509_request_free; + hx509_request_init; + hx509_request_set_name; + hx509_request_set_SubjectPublicKeyInfo; hx509_revoke_add_crl; hx509_revoke_add_ocsp; hx509_revoke_free;