pkcs7_sign_verify.c
const HashAlgo * pkcs7GetHashAlgo(const uint8_t *oid, size_t length)
Get the hash algorithm that matches the specified OID.
Definition: pkcs7_common.c:77
OID (Object Identifier)
Pkcs7AuthenticatedAttributes authenticatedAttributes
Definition: pkcs7_common.h:268
X509OctetString messageDigest
Definition: pkcs7_common.h:240
error_t pkcs7VerifyRsaSignature(const uint8_t *digest, const Pkcs7SignerInfo *signerInfo, const X509SubjectPublicKeyInfo *publicKeyInfo, const X509OctetString *signature)
RSA signature verification.
Definition: pkcs7_sign_verify.c:193
error_t asn1ReadOctetString(const uint8_t *data, size_t length, Asn1Tag *tag)
Read an octet string from the input stream.
Definition: asn1.c:190
PKCS #7 message parsing.
error_t pkcs7ParseSignerInfo(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7SignerInfo *signerInfo)
Parse SignerInfo structure.
Definition: pkcs7_parse.c:577
error_t pkcs7DigestAuthenticatedAttributes(const Pkcs7SignerInfo *signerInfo, const uint8_t *data, size_t length, uint8_t *digest)
Digest the DER encoding of the authenticatedAttributes field.
Definition: pkcs7_common.c:382
error_t pkcs7FindSigner(const Pkcs7SignerInfos *signerInfos, const X509CertInfo *signerCertInfo, Pkcs7SignerInfo *signerInfo)
Search a list of per-signer informations for a given signer.
Definition: pkcs7_sign_verify.c:268
General definitions for cryptographic algorithms.
error_t pkcs7VerifySignedData(const Pkcs7SignedData *signedData, const Pkcs7SignerInfo *signerInfo, const X509CertInfo *signerCertInfo)
Verify signature over signed-data content.
Definition: pkcs7_sign_verify.c:56
Pkcs7IssuerAndSerialNumber issuerAndSerialNumber
Definition: pkcs7_common.h:266
Collection of hash algorithms.
const HashAlgo * pkcs7GetSignHashAlgo(const uint8_t *oid, size_t length)
Get the signature hash algorithm that matches the specified OID.
Definition: pkcs7_common.c:146
PKCS #7 signature verification.
error_t rsassaPkcs1v15Verify(const RsaPublicKey *key, const HashAlgo *hash, const uint8_t *digest, const uint8_t *signature, size_t signatureLen)
RSASSA-PKCS1-v1_5 signature verification operation.
Definition: rsa.c:1068
X509SignAlgoId digestEncryptionAlgo
Definition: pkcs7_common.h:269
error_t x509ImportRsaPublicKey(RsaPublicKey *publicKey, const X509SubjectPublicKeyInfo *publicKeyInfo)
Import an RSA public key.
Definition: x509_key_parse.c:563
error_t pkcs7VerifySignature(const uint8_t *digest, const Pkcs7SignerInfo *signerInfo, const X509SubjectPublicKeyInfo *publicKeyInfo, const X509OctetString *signature)
Signature verification.
Definition: pkcs7_sign_verify.c:145
Parsing of ASN.1 encoded keys.
bool_t x509CompareName(const uint8_t *name1, size_t nameLen1, const uint8_t *name2, size_t nameLen2)
Compare distinguished names.
Definition: x509_common.c:184
X509SubjectPublicKeyInfo subjectPublicKeyInfo
Definition: x509_common.h:1109
Debugging facilities.
ASN.1 (Abstract Syntax Notation One)