aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCameron Katri <me@cameronkatri.com>2022-07-14 18:28:26 -0400
committerCameron Katri <me@cameronkatri.com>2022-07-14 18:28:26 -0400
commitb0acb5a12b287dac8bed0575bf66c598e7ce2f04 (patch)
tree9e62d4d6c345b099f6ea3865736611458aa28b3a
parent685ead2605ceca538b4488792def136e74c85236 (diff)
downloadldid-b0acb5a12b287dac8bed0575bf66c598e7ce2f04.tar.gz
ldid-b0acb5a12b287dac8bed0575bf66c598e7ce2f04.tar.zst
ldid-b0acb5a12b287dac8bed0575bf66c598e7ce2f04.zip
Fix Authority when using -H
-rw-r--r--ldid.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/ldid.cpp b/ldid.cpp
index 24daf47..f439dac 100644
--- a/ldid.cpp
+++ b/ldid.cpp
@@ -1855,14 +1855,18 @@ class Signature {
X509_ATTRIBUTE *attribute = X509_ATTRIBUTE_new();
ASN1_OBJECT *obj2 = OBJ_txt2obj("1.2.840.113635.100.9.2", 1);
X509_ATTRIBUTE_set1_object(attribute, obj2);
- // xina fix;
- SEQUENCE_hash_sha1 seq1;
- memcpy((void *)seq1.hash,(void *)alternateCDSHA1.data() ,alternateCDSHA1.size());
- X509_ATTRIBUTE_set1_data(attribute, V_ASN1_SEQUENCE,&seq1, sizeof(seq1));
- // xina fix;
- SEQUENCE_hash_sha256 seq256;
- memcpy((void *)seq256.hash,(void *)alternateCDSHA256.data() ,alternateCDSHA256.size());
- X509_ATTRIBUTE_set1_data(attribute, V_ASN1_SEQUENCE,&seq256, sizeof(seq256));
+ if (alternateCDSHA1.size() != 0) {
+ // xina fix;
+ SEQUENCE_hash_sha1 seq1;
+ memcpy((void *)seq1.hash, (void *)alternateCDSHA1.data(), alternateCDSHA1.size());
+ X509_ATTRIBUTE_set1_data(attribute, V_ASN1_SEQUENCE, &seq1, sizeof(seq1));
+ }
+ if (alternateCDSHA256.size() != 0) {
+ // xina fix;
+ SEQUENCE_hash_sha256 seq256;
+ memcpy((void *)seq256.hash, (void *)alternateCDSHA256.data(), alternateCDSHA256.size());
+ X509_ATTRIBUTE_set1_data(attribute, V_ASN1_SEQUENCE, &seq256, sizeof(seq256));
+ }
STACK_OF(X509_ATTRIBUTE) *sk = PKCS7_get_signed_attributes(info);
if (!sk_X509_ATTRIBUTE_push(sk, attribute)) {