--- snmplib/snmp_openssl.c 2014-12-08 21:23:22.000000000 +0100 +++ snmplib/snmp_openssl.c 2017-02-20 12:46:00.059727928 +0100 @@ -47,7 +47,7 @@ void netsnmp_init_openssl(void) { DEBUGMSGTL(("snmp_openssl", "initializing\n")); /* Initializing OpenSSL */ - SSL_library_init(); + OPENSSL_init_ssl(0, NULL); SSL_load_error_strings(); ERR_load_BIO_strings(); OpenSSL_add_all_algorithms(); @@ -164,11 +164,11 @@ netsnmp_openssl_cert_dump_names(X509 *oc oname_entry = X509_NAME_get_entry(osubj_name, i); netsnmp_assert(NULL != oname_entry); - if (oname_entry->value->type != V_ASN1_PRINTABLESTRING) + if (X509_NAME_ENTRY_get_data(oname_entry)->type != V_ASN1_PRINTABLESTRING) continue; /** get NID */ - onid = OBJ_obj2nid(oname_entry->object); + onid = OBJ_obj2nid(X509_NAME_ENTRY_get_object(oname_entry)); if (onid == NID_undef) { prefix_long = prefix_short = "UNKNOWN"; } @@ -179,9 +179,9 @@ netsnmp_openssl_cert_dump_names(X509 *oc DEBUGMSGT(("9:cert:dump:names", "[%02d] NID type %d, ASN type %d\n", i, onid, - oname_entry->value->type)); + X509_NAME_ENTRY_get_data(oname_entry)->type)); DEBUGMSGT(("9:cert:dump:names", "%s/%s: '%s'\n", prefix_long, - prefix_short, ASN1_STRING_data(oname_entry->value))); + prefix_short, ASN1_STRING_data(X509_NAME_ENTRY_get_data(oname_entry)))); } } #endif /* NETSNMP_FEATURE_REMOVE_CERT_DUMP_NAMES */ @@ -470,7 +470,7 @@ netsnmp_openssl_cert_get_hash_type(X509 if (NULL == ocert) return 0; - return _nid2ht(OBJ_obj2nid(ocert->sig_alg->algorithm)); + return _nid2ht(X509_get_signature_nid(ocert)); } /** @@ -487,7 +487,7 @@ netsnmp_openssl_cert_get_fingerprint(X50 if (NULL == ocert) return NULL; - nid = OBJ_obj2nid(ocert->sig_alg->algorithm); + nid = X509_get_signature_nid(ocert); DEBUGMSGT(("9:openssl:fingerprint", "alg %d, cert nid %d (%d)\n", alg, nid, _nid2ht(nid)));