/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This code is made available to you under your choice of the following sets *oflicensingterms:
*/ /* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis *file,Youcanobtainoneathttp://mozilla.org/MPL/2.0/.
*/ /* Copyright 2015 Mozilla Contributors * *LicensedundertheApacheLicense,Version2.0(the"License"); *youmaynotusethisfileexceptincompliancewiththeLicense. *YoumayobtainacopyoftheLicenseat * *http://www.apache.org/licenses/LICENSE-2.0 * *Unlessrequiredbyapplicablelaworagreedtoinwriting,software *distributedundertheLicenseisdistributedonan"ASIS"BASIS, *WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied. *SeetheLicenseforthespecificlanguagegoverningpermissionsand *limitationsundertheLicense.
*/
#include"mozpkix/pkixutil.h"
namespace mozilla { namespace pkix {
Result
VerifySignedData(TrustDomain& trustDomain, const der::SignedDataWithSignature& signedData,
Input signerSubjectPublicKeyInfo)
{
der::PublicKeyAlgorithm publicKeyAlg;
DigestAlgorithm digestAlgorithm;
Reader signatureAlg(signedData.algorithm);
Result rv = der::SignatureAlgorithmIdentifierValue(
signatureAlg, publicKeyAlg, digestAlgorithm); if (rv != Success) { return rv;
} if (!signatureAlg.AtEnd()) { return Result::ERROR_BAD_DER;
}
switch (publicKeyAlg) { case der::PublicKeyAlgorithm::ECDSA: return trustDomain.VerifyECDSASignedData(signedData.data,
digestAlgorithm, signedData.signature, signerSubjectPublicKeyInfo); case der::PublicKeyAlgorithm::RSA_PKCS1: return trustDomain.VerifyRSAPKCS1SignedData(signedData.data,
digestAlgorithm, signedData.signature, signerSubjectPublicKeyInfo); case der::PublicKeyAlgorithm::RSA_PSS: return trustDomain.VerifyRSAPSSSignedData(signedData.data,
digestAlgorithm, signedData.signature, signerSubjectPublicKeyInfo);
MOZILLA_PKIX_UNREACHABLE_DEFAULT_ENUM
}
}
} } // namespace mozilla::pkix
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-30)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.