|
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