summaryrefslogtreecommitdiff
path: root/crypto/pkcs7/sign.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/pkcs7/sign.c')
-rw-r--r--crypto/pkcs7/sign.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/crypto/pkcs7/sign.c b/crypto/pkcs7/sign.c
index ead1cb65ca..6ad88d4688 100644
--- a/crypto/pkcs7/sign.c
+++ b/crypto/pkcs7/sign.c
@@ -105,7 +105,13 @@ again:
p7=PKCS7_new();
PKCS7_set_type(p7,NID_pkcs7_signed);
- if (PKCS7_add_signature(p7,x509,pkey,EVP_sha1()) == NULL) goto err;
+ si=PKCS7_add_signature(p7,x509,pkey,EVP_sha1());
+ if (si == NULL) goto err;
+
+ /* Add some extra attributes */
+ if (!add_signed_time(si)) goto err;
+ if (!add_signed_string(si,"SIGNED STRING")) goto err;
+ if (!add_signed_seq2string(si,"STRING1","STRING2")) goto err;
/* we may want to add more */
PKCS7_add_certificate(p7,x509);
@@ -125,7 +131,7 @@ again:
BIO_write(p7bio,buf,i);
}
- if (!PKCS7_dataSign(p7,p7bio)) goto err;
+ if (!PKCS7_dataFinal(p7,p7bio)) goto err;
BIO_free(p7bio);
PEM_write_PKCS7(stdout,p7);