diff options
Diffstat (limited to 'usr/src/lib/libkmf')
-rw-r--r-- | usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c b/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c index 548a047245..fc3da4b7e8 100644 --- a/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c +++ b/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c @@ -4,6 +4,9 @@ * Use is subject to license terms. */ /* + * Copyright (c) 2012, OmniTI Computer Consulting, Inc. All rights reserved. + */ +/* * Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL * project 2000. */ @@ -2027,7 +2030,11 @@ OpenSSL_CertGetPrintable(KMF_HANDLE_T handle, const KMF_DATA *pcert, int j; int ext_index, nid, len; BIO *mem = NULL; +#if OPENSSL_VERSION_NUMBER < 0x10000000L STACK *emlst = NULL; +#else + STACK_OF(OPENSSL_STRING) *emlst = NULL; +#endif X509_EXTENSION *ex; X509_CINF *ci; @@ -2140,8 +2147,14 @@ OpenSSL_CertGetPrintable(KMF_HANDLE_T handle, const KMF_DATA *pcert, case KMF_CERT_EMAIL: emlst = X509_get1_email(xcert); +#if OPENSSL_VERSION_NUMBER < 0x10000000L for (j = 0; j < sk_num(emlst); j++) (void) BIO_printf(mem, "%s\n", sk_value(emlst, j)); +#else + for (j = 0; j < sk_OPENSSL_STRING_num(emlst); j++) + (void) BIO_printf(mem, "%s\n", + sk_OPENSSL_STRING_value(emlst, j)); +#endif len = BIO_gets(mem, resultStr, KMF_CERT_PRINTABLE_LEN); X509_email_free(emlst); @@ -4265,8 +4278,13 @@ convertToRawKey(EVP_PKEY *pkey, KMF_RAW_KEY_DATA *key) ty = sk_ASN1_TYPE_value(attr->value.set, 0); } if (ty != NULL) { +#if OPENSSL_VERSION_NUMBER < 0x10000000L key->label = uni2asc(ty->value.bmpstring->data, ty->value.bmpstring->length); +#else + key->label = OPENSSL_uni2asc(ty->value.bmpstring->data, + ty->value.bmpstring->length); +#endif } } else { key->label = NULL; |