summaryrefslogtreecommitdiffstats
path: root/crypto/ts/ts_rsp_sign.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2015-09-11 16:58:57 +0100
committerDr. Stephen Henson <steve@openssl.org>2015-11-20 13:40:53 +0000
commite20b47275109aafc559446d731e6baad4a1f55d1 (patch)
tree81cb21ba12afa38fe00295ee9c7260ed22776559 /crypto/ts/ts_rsp_sign.c
parentfa49924659f21454fba3d70b4f60ce76ee6059f8 (diff)
Add support for signer_digest option in TS.
Based on PR#2145 Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'crypto/ts/ts_rsp_sign.c')
-rw-r--r--crypto/ts/ts_rsp_sign.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/crypto/ts/ts_rsp_sign.c b/crypto/ts/ts_rsp_sign.c
index c7738b8a51..f84555d8fc 100644
--- a/crypto/ts/ts_rsp_sign.c
+++ b/crypto/ts/ts_rsp_sign.c
@@ -169,6 +169,8 @@ TS_RESP_CTX *TS_RESP_CTX_new()
return NULL;
}
+ ctx->signer_md = EVP_sha256();
+
ctx->serial_cb = def_serial_cb;
ctx->time_cb = def_time_cb;
ctx->extension_cb = def_extension_cb;
@@ -215,6 +217,12 @@ int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key)
return 1;
}
+int TS_RESP_CTX_set_signer_digest(TS_RESP_CTX *ctx, const EVP_MD *md)
+{
+ ctx->signer_md = md;
+ return 1;
+}
+
int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, ASN1_OBJECT *def_policy)
{
ASN1_OBJECT_free(ctx->default_policy);
@@ -700,7 +708,7 @@ static int ts_RESP_sign(TS_RESP_CTX *ctx)
}
if ((si = PKCS7_add_signature(p7, ctx->signer_cert,
- ctx->signer_key, EVP_sha1())) == NULL) {
+ ctx->signer_key, ctx->signer_md)) == NULL) {
TSerr(TS_F_TS_RESP_SIGN, TS_R_PKCS7_ADD_SIGNATURE_ERROR);
goto err;
}