pkcs7_parse.c
X.509 certificate parsing.
error_t pkcs7ParseEncryptedKey(const uint8_t *data, size_t length, size_t *totalLength, X509OctetString *encryptedKey)
Parse encryptedKey structure.
Definition: pkcs7_parse.c:1276
X509OctetString encryptedContent
Definition: pkcs7_common.h:342
error_t pkcs7ParseAuthenticatedAttributes(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7AuthenticatedAttributes *authenticatedAttributes)
Parse authenticatedAttributes structure.
Definition: pkcs7_parse.c:737
OID (Object Identifier)
error_t x509ParseRsaPssParameters(const uint8_t *data, size_t length, X509RsaPssParameters *rsaPssParams)
Parse RSASSA-PSS parameters.
Definition: x509_sign_parse.c:166
error_t pkcs7ParseDigestAlgos(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7DigestAlgos *digestAlgos)
Parse digestAlgorithms structure.
Definition: pkcs7_parse.c:289
Pkcs7AuthenticatedAttributes authenticatedAttributes
Definition: pkcs7_common.h:268
X509OctetString messageDigest
Definition: pkcs7_common.h:240
X509OctetString certificates[PKCS7_MAX_CERTIFICATES]
Definition: pkcs7_common.h:193
error_t pkcs7ParseIssuerAndSerialNumber(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7IssuerAndSerialNumber *issuerAndSerialNumber)
Parse IssuerAndSerialNumber structure.
Definition: pkcs7_parse.c:686
Pkcs7UnauthenticatedAttributes unauthenticatedAttributes
Definition: pkcs7_common.h:271
error_t x509ParseSerialNumber(const uint8_t *data, size_t length, size_t *totalLength, X509SerialNumber *serialNumber)
Parse SerialNumber field.
Definition: x509_cert_parse.c:408
error_t asn1ReadTag(const uint8_t *data, size_t length, Asn1Tag *tag)
Read an ASN.1 tag from the input stream.
Definition: asn1.c:52
int_t oidComp(const uint8_t *oid1, size_t oidLen1, const uint8_t *oid2, size_t oidLen2)
Compare object identifiers.
Definition: oid.c:103
error_t pkcs7ParseSignedData(const uint8_t *data, size_t length, Pkcs7SignedData *signedData)
Parse signed-data content.
Definition: pkcs7_parse.c:131
error_t asn1ReadOid(const uint8_t *data, size_t length, Asn1Tag *tag)
Read an object identifier from the input stream.
Definition: asn1.c:218
error_t asn1ReadOctetString(const uint8_t *data, size_t length, Asn1Tag *tag)
Read an octet string from the input stream.
Definition: asn1.c:190
error_t pkcs7ParseEncryptedContentInfo(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7EncryptedContentInfo *encryptedContentInfo)
Parse encryptedContentInfo structure.
Definition: pkcs7_parse.c:1309
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 x509ParseName(const uint8_t *data, size_t length, size_t *totalLength, X509Name *name)
Parse Name structure.
Definition: x509_cert_parse.c:562
X509AlgoId identifiers[PKCS7_MAX_DIGEST_ALGO_IDENTIFIERS]
Definition: pkcs7_common.h:181
error_t asn1ReadInt32(const uint8_t *data, size_t length, Asn1Tag *tag, int32_t *value)
Read a 32-bit integer from the input stream.
Definition: asn1.c:285
error_t pkcs7ParseCrls(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7Crls *crls)
Parse CRLs.
Definition: pkcs7_parse.c:431
General definitions for cryptographic algorithms.
error_t pkcs7ParseCertificates(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7Certificates *certificates)
Parse certificates.
Definition: pkcs7_parse.c:356
#define PKCS7_MAX_DIGEST_ALGO_IDENTIFIERS
Definition: pkcs7_common.h:110
error_t pkcs7ParseEncryptedDigest(const uint8_t *data, size_t length, size_t *totalLength, X509OctetString *encryptedDigest)
Parse encryptedDigest structure.
Definition: pkcs7_parse.c:913
Pkcs7EncryptedContentInfo encryptedContentInfo
Definition: pkcs7_common.h:369
error_t pkcs7FindAttribute(const uint8_t *data, size_t length, const uint8_t *oid, size_t oidLen, Pkcs7Attribute *attribute)
Search a set of attributes for a given attribute type.
Definition: pkcs7_parse.c:1088
error_t asn1CheckOid(const Asn1Tag *tag, const uint8_t *oid, size_t length)
Check ASN.1 tag against a specified OID.
Definition: asn1.c:972
error_t pkcs7ParseContentEncrAlgo(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7ContentEncrAlgo *contentEncrAlgo)
Parse contentEncryptionAlgorithm structure.
Definition: pkcs7_parse.c:1390
error_t x509ParseTimeString(const uint8_t *data, size_t length, uint_t type, DateTime *dateTime)
Parse UTCTime or GeneralizedTime string.
Definition: x509_cert_parse.c:1098
Pkcs7IssuerAndSerialNumber issuerAndSerialNumber
Definition: pkcs7_common.h:266
Pkcs7ContentEncrAlgo contentEncrAlgo
Definition: pkcs7_common.h:341
error_t pkcs7ParseRecipientInfo(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7RecipientInfo *recipientInfo)
Parse RecipientInfo structure.
Definition: pkcs7_parse.c:1203
error_t pkcs7ParseAttribute(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7Attribute *attribute)
Parse attribute.
Definition: pkcs7_parse.c:1011
error_t pkcs7ParseContentInfo(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7ContentInfo *contentInfo)
Parse contentInfo structure.
Definition: pkcs7_parse.c:56
error_t pkcs7ParseDigestEncryptionAlgo(const uint8_t *data, size_t length, size_t *totalLength, X509SignAlgoId *digestEncryptionAlgo)
Parse digestEncryptionAlgorithm structure.
Definition: pkcs7_parse.c:850
X509SignAlgoId digestEncryptionAlgo
Definition: pkcs7_common.h:269
error_t pkcs7ParseUnauthenticatedAttributes(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7UnauthenticatedAttributes *unauthenticatedAttributes)
Parse unauthenticatedAttributes structure.
Definition: pkcs7_parse.c:946
Pkcs7RecipientInfo recipientInfos[PKCS7_MAX_RECIPIENT_INFOS]
Definition: pkcs7_common.h:308
Pkcs7SignerInfo signerInfos[PKCS7_MAX_SIGNER_INFOS]
Definition: pkcs7_common.h:283
error_t pkcs7ParseEnvelopedData(const uint8_t *data, size_t length, Pkcs7EnvelopedData *envelopedData)
Parse enveloped-data content.
Definition: pkcs7_parse.c:224
error_t pkcs7ParseSignerInfos(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7SignerInfos *signerInfos)
Parse signerInfos structure.
Definition: pkcs7_parse.c:506
error_t asn1ReadSequence(const uint8_t *data, size_t length, Asn1Tag *tag)
Read an ASN.1 sequence from the input stream.
Definition: asn1.c:163
Pkcs7IssuerAndSerialNumber issuerAndSerialNumber
Definition: pkcs7_common.h:294
error_t pkcs7ParseAlgoId(const uint8_t *data, size_t length, size_t *totalLength, X509AlgoId *algoId)
Parse AlgorithmIdentifier structure.
Definition: pkcs7_parse.c:1447
error_t asn1CheckTag(const Asn1Tag *tag, bool_t constructed, uint_t objClass, uint_t objType)
Enforce the type of a specified tag.
Definition: asn1.c:944
error_t pkcs7ParseRecipientInfos(const uint8_t *data, size_t length, size_t *totalLength, Pkcs7RecipientInfos *recipientInfos)
Parse recipientInfos structure.
Definition: pkcs7_parse.c:1129
Debugging facilities.
ASN.1 (Abstract Syntax Notation One)