diff options
author | Cameron Katri <me@cameronkatri.com> | 2022-07-14 18:28:26 -0400 |
---|---|---|
committer | Cameron Katri <me@cameronkatri.com> | 2022-07-14 18:28:26 -0400 |
commit | b0acb5a12b287dac8bed0575bf66c598e7ce2f04 (patch) | |
tree | 9e62d4d6c345b099f6ea3865736611458aa28b3a | |
parent | 685ead2605ceca538b4488792def136e74c85236 (diff) | |
download | ldid-b0acb5a12b287dac8bed0575bf66c598e7ce2f04.tar.gz ldid-b0acb5a12b287dac8bed0575bf66c598e7ce2f04.tar.zst ldid-b0acb5a12b287dac8bed0575bf66c598e7ce2f04.zip |
Fix Authority when using -H
-rw-r--r-- | ldid.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -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)) { |