|
28 | 28 | #include "crypto/X509CertStore.h" |
29 | 29 | #include "crypto/X509Crypto.h" |
30 | 30 | #include "util/DateTime.h" |
| 31 | +#include "util/algorithm.h" |
31 | 32 | #include "util/log.h" |
32 | 33 | #include "util/File.h" |
33 | 34 |
|
@@ -364,7 +365,7 @@ string SignatureXAdES_B::policy() const |
364 | 365 | { |
365 | 366 | if(auto id = signedSignatureProperties()/"SignaturePolicyIdentifier"/"SignaturePolicyId"/"SigPolicyId"/"Identifier"; |
366 | 367 | id && id["Qualifier"] == "OIDAsURN") |
367 | | - return string(id); |
| 368 | + return string(trim_prefix(id)); |
368 | 369 | return {}; |
369 | 370 | } |
370 | 371 |
|
@@ -393,8 +394,8 @@ string SignatureXAdES_B::trustedSigningTime() const |
393 | 394 |
|
394 | 395 | string SignatureXAdES_B::SPUri() const |
395 | 396 | { |
396 | | - return string(signedSignatureProperties() |
397 | | - /"SignaturePolicyIdentifier"/"SignaturePolicyId"/"SigPolicyQualifiers"/"SigPolicyQualifier"/"SPURI"); |
| 397 | + return string(trim_prefix(signedSignatureProperties() |
| 398 | + /"SignaturePolicyIdentifier"/"SignaturePolicyId"/"SigPolicyQualifiers"/"SigPolicyQualifier"/"SPURI")); |
398 | 399 | } |
399 | 400 |
|
400 | 401 | void SignatureXAdES_B::validate() const |
@@ -633,7 +634,7 @@ void SignatureXAdES_B::checkSigningCertificate(bool noqscd) const |
633 | 634 | { |
634 | 635 | X509Cert signingCert = signingCertificate(); |
635 | 636 | vector<X509Cert::KeyUsage> usage = signingCert.keyUsage(); |
636 | | - if(find(usage.cbegin(), usage.cend(), X509Cert::NonRepudiation) == usage.cend()) |
| 637 | + if(!contains(usage, X509Cert::NonRepudiation)) |
637 | 638 | THROW("Signing certificate does not contain NonRepudiation key usage flag"); |
638 | 639 | if(!X509CertStore::instance()->verify(signingCert, noqscd)) |
639 | 640 | THROW("Unable to verify signing certificate"); |
|
0 commit comments