From 5f8a5f46e4e83735bb5ad384d8d7df771d2aa4b3 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Thu, 13 Dec 2018 12:04:26 +0100 Subject: [PATCH] Adapt OPENSSL_DEBUG_DECRYPT to the new generic trace API Co-authored-by: Dr. Matthias St. Pierre Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8198) --- crypto/pkcs12/p12_decr.c | 23 ++++++----------------- crypto/trace.c | 1 + include/openssl/trace.h | 5 +++-- 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/crypto/pkcs12/p12_decr.c b/crypto/pkcs12/p12_decr.c index 67a9305438..b9d13d9cf5 100644 --- a/crypto/pkcs12/p12_decr.c +++ b/crypto/pkcs12/p12_decr.c @@ -10,11 +10,7 @@ #include #include "internal/cryptlib.h" #include - -/* Define this to dump decrypted output to files called DERnnn */ -/* - * #define OPENSSL_DEBUG_DECRYPT - */ +#include /* * Encrypt/Decrypt a buffer based on password and algor, result in a @@ -95,18 +91,11 @@ void *PKCS12_item_decrypt_d2i(const X509_ALGOR *algor, const ASN1_ITEM *it, return NULL; } p = out; -#ifdef OPENSSL_DEBUG_DECRYPT - { - FILE *op; - - char fname[30]; - static int fnm = 1; - sprintf(fname, "DER%d", fnm++); - op = fopen(fname, "wb"); - fwrite(p, 1, outlen, op); - fclose(op); - } -#endif + OSSL_TRACE_BEGIN(PKCS12_DECRYPT) { + BIO_printf(trc_out, "\n"); + BIO_dump(trc_out, out, outlen); + BIO_printf(trc_out, "\n"); + } OSSL_TRACE_END(PKCS12_DECRYPT); ret = ASN1_item_d2i(NULL, &p, outlen, it); if (zbuf) OPENSSL_cleanse(out, outlen); diff --git a/crypto/trace.c b/crypto/trace.c index 8020a58e68..3790619d0c 100644 --- a/crypto/trace.c +++ b/crypto/trace.c @@ -128,6 +128,7 @@ static const struct trace_category_st trace_categories[] = { TRACE_CATEGORY_(ENGINE_REF_COUNT), TRACE_CATEGORY_(PKCS5V2), TRACE_CATEGORY_(PKCS12_KEYGEN), + TRACE_CATEGORY_(PKCS12_DECRYPT), TRACE_CATEGORY_(X509V3_POLICY), }; diff --git a/include/openssl/trace.h b/include/openssl/trace.h index 865fba0c2c..7c1244595c 100644 --- a/include/openssl/trace.h +++ b/include/openssl/trace.h @@ -41,8 +41,9 @@ extern "C" { # define OSSL_TRACE_CATEGORY_ENGINE_REF_COUNT 6 # define OSSL_TRACE_CATEGORY_PKCS5V2 7 # define OSSL_TRACE_CATEGORY_PKCS12_KEYGEN 8 -# define OSSL_TRACE_CATEGORY_X509V3_POLICY 9 -# define OSSL_TRACE_CATEGORY_NUM 10 +# define OSSL_TRACE_CATEGORY_PKCS12_DECRYPT 9 +# define OSSL_TRACE_CATEGORY_X509V3_POLICY 10 +# define OSSL_TRACE_CATEGORY_NUM 11 /* Returns the trace category number for the given |name| */ int OSSL_trace_get_category_num(const char *name); -- 2.25.1