pkcs7_format.c
Go to the documentation of this file.
899 error_t pkcs7FormatIssuerAndSerialNumber(const Pkcs7IssuerAndSerialNumber *issuerAndSerialNumber,
962 error_t pkcs7FormatAuthenticatedAttributes(const Pkcs7AuthenticatedAttributes *authenticatedAttributes,
1260 error_t pkcs7FormatUnauthenticatedAttributes(const Pkcs7UnauthenticatedAttributes *unauthenticatedAttributes,
error_t x509FormatTimeString(const DateTime *dateTime, uint_t type, char_t *output)
Format UTCTime or GeneralizedTime string.
Definition: x509_cert_format.c:755
Pkcs7Attribute customAttributes[PKCS7_MAX_CUSTOM_ATTRIBUTES]
Definition: pkcs7_common.h:255
error_t pkcs7FormatEnvelopedData(const PrngAlgo *prngAlgo, void *prngContext, const X509CertInfo *recipientCertInfo, const Pkcs7EnvelopedData *envelopedData, const uint8_t *plaintext, size_t plaintextLen, uint8_t *output, size_t *written)
Format enveloped-data content.
Definition: pkcs7_format.c:349
error_t pkcs7FormatContentEncrAlgo(const Pkcs7ContentEncrAlgo *contentEncrAlgo, uint8_t *output, size_t *written)
Format contentEncryptionAlgorithm structure.
Definition: pkcs7_format.c:1789
OID (Object Identifier)
uint_t numCustomAttributes
Definition: pkcs7_common.h:254
Pkcs7AuthenticatedAttributes authenticatedAttributes
Definition: pkcs7_common.h:268
X509OctetString messageDigest
Definition: pkcs7_common.h:240
error_t asn1InsertHeader(Asn1Tag *tag, uint8_t *data, size_t *written)
Insert an ASN.1 tag header.
Definition: asn1.c:643
uint_t numCustomAttributes
Definition: pkcs7_common.h:242
error_t pkcs7FormatRecipientInfo(const PrngAlgo *prngAlgo, void *prngContext, const Pkcs7RecipientInfo *recipientInfo, const X509CertInfo *recipientCertInfo, const uint8_t *key, size_t keyLen, uint8_t *output, size_t *written)
Format RecipientInfo structure.
Definition: pkcs7_format.c:1552
X509OctetString certificates[PKCS7_MAX_CERTIFICATES]
Definition: pkcs7_common.h:193
error_t pkcs7FormatContentInfo(const Pkcs7ContentInfo *contentInfo, uint8_t *output, size_t *written)
Format contentInfo structure.
Definition: pkcs7_format.c:57
error_t pkcs7FormatIssuerAndSerialNumber(const Pkcs7IssuerAndSerialNumber *issuerAndSerialNumber, uint8_t *output, size_t *written)
Format IssuerAndSerialNumber structure.
Definition: pkcs7_format.c:899
Pkcs7UnauthenticatedAttributes unauthenticatedAttributes
Definition: pkcs7_common.h:271
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
X.509 certificate formatting.
error_t pkcs7EncryptData(const Pkcs7EncryptedContentInfo *encryptedContentInfo, const uint8_t *key, size_t keyLen, const uint8_t *plaintext, size_t plaintextLen, uint8_t *ciphertext, size_t *ciphertextLen)
Perform data encryption.
Definition: pkcs7_encrypt.c:183
error_t pkcs7FormatEncryptedDigest(const PrngAlgo *prngAlgo, void *prngContext, const uint8_t *digest, const Pkcs7SignerInfo *signerInfo, const void *signerPrivateKey, uint8_t *output, size_t *written)
Format encryptedDigest structure.
Definition: pkcs7_format.c:1215
error_t pkcs7FormatUnauthenticatedAttributes(const Pkcs7UnauthenticatedAttributes *unauthenticatedAttributes, uint8_t *output, size_t *written)
Format unauthenticatedAttributes structure.
Definition: pkcs7_format.c:1260
error_t pkcs7EncryptKey(const PrngAlgo *prngAlgo, void *prngContext, const X509CertInfo *recipientCertInfo, const uint8_t *plaintext, size_t plaintextLen, uint8_t *ciphertext, size_t *ciphertextLen)
Perform key encryption.
Definition: pkcs7_encrypt.c:126
error_t pkcs7FormatSignerInfos(const PrngAlgo *prngAlgo, void *prngContext, const Pkcs7SignerInfos *signerInfos, const void *signerPrivateKey, uint8_t *output, size_t *written)
Format SignerInfos structure.
Definition: pkcs7_format.c:697
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 pkcs7FormatAttribute(const Pkcs7Attribute *attribute, uint8_t *output, size_t *written)
Format attribute.
Definition: pkcs7_format.c:1321
int_t pkcs7CompAttributes(const uint8_t *attribute1, size_t attributeLen1, const uint8_t *attribute2, size_t attributeLen2)
Compare attributes.
Definition: pkcs7_common.c:329
error_t pkcs7FormatAuthenticatedAttributes(const Pkcs7AuthenticatedAttributes *authenticatedAttributes, uint8_t *output, size_t *written)
Format authenticatedAttributes structure.
Definition: pkcs7_format.c:962
X509AlgoId identifiers[PKCS7_MAX_DIGEST_ALGO_IDENTIFIERS]
Definition: pkcs7_common.h:181
error_t pkcs7FormatAlgoId(const X509AlgoId *algoId, uint8_t *output, size_t *written)
Format AlgorithmIdentifier structure.
Definition: pkcs7_format.c:1865
uint_t pkcs7GetKeyLength(const uint8_t *oid, size_t length)
Get the encryption key length to be used for PBES2 operation.
Definition: pkcs7_common.c:270
General definitions for cryptographic algorithms.
error_t asn1WriteTag(Asn1Tag *tag, bool_t reverse, uint8_t *data, size_t *written)
Write an ASN.1 tag.
Definition: asn1.c:334
Pkcs7Attribute customAttributes[PKCS7_MAX_CUSTOM_ATTRIBUTES]
Definition: pkcs7_common.h:243
Pkcs7EncryptedContentInfo encryptedContentInfo
Definition: pkcs7_common.h:369
Pkcs7IssuerAndSerialNumber issuerAndSerialNumber
Definition: pkcs7_common.h:266
error_t pkcs7FormatEncryptedKey(const PrngAlgo *prngAlgo, void *prngContext, const X509CertInfo *recipientCertInfo, const uint8_t *key, size_t keyLen, uint8_t *output, size_t *written)
Format encryptedKey structure.
Definition: pkcs7_format.c:1641
error_t pkcs7FormatSignerInfo(const PrngAlgo *prngAlgo, void *prngContext, const Pkcs7SignerInfo *signerInfo, const void *signerPrivateKey, uint8_t *output, size_t *written)
Format SignerInfo structure.
Definition: pkcs7_format.c:761
Pkcs7ContentEncrAlgo contentEncrAlgo
Definition: pkcs7_common.h:341
PKCS #7 message encryption.
error_t pkcs7FormatCertificates(const Pkcs7Certificates *certificates, uint8_t *output, size_t *written)
Format certificates.
Definition: pkcs7_format.c:525
error_t pkcs7FormatSignedData(const PrngAlgo *prngAlgo, void *prngContext, const Pkcs7SignedData *signedData, const void *signerPrivateKey, uint8_t *output, size_t *written)
Format signed-data content.
Definition: pkcs7_format.c:205
error_t pkcs7GenerateSignature(const PrngAlgo *prngAlgo, void *prngContext, const uint8_t *digest, const Pkcs7SignerInfo *signerInfo, const void *privateKey, uint8_t *output, size_t *written)
Signature generation.
Definition: pkcs7_sign_generate.c:167
X509SignAlgoId digestEncryptionAlgo
Definition: pkcs7_common.h:269
error_t x509FormatName(const X509Name *name, uint8_t *output, size_t *written)
Format Name structure.
Definition: x509_cert_format.c:321
error_t pkcs7FormatDigestEncryptionAlgo(const X509SignAlgoId *digestEncryptionAlgo, uint8_t *output, size_t *written)
Format digestEncryptionAlgorithm structure.
Definition: pkcs7_format.c:1096
Pkcs7RecipientInfo recipientInfos[PKCS7_MAX_RECIPIENT_INFOS]
Definition: pkcs7_common.h:308
error_t pkcs7FormatCrls(const Pkcs7Crls *crls, uint8_t *output, size_t *written)
Format CRLs.
Definition: pkcs7_format.c:610
Pkcs7SignerInfo signerInfos[PKCS7_MAX_SIGNER_INFOS]
Definition: pkcs7_common.h:283
error_t x509FormatSerialNumber(const PrngAlgo *prngAlgo, void *prngContext, const X509SerialNumber *serialNumber, uint8_t *output, size_t *written)
Format SerialNumber field.
Definition: x509_cert_format.c:244
PKCS #7 signature generation.
error_t pkcs7FormatEncryptedContentInfo(const Pkcs7EncryptedContentInfo *encryptedContentInfo, const uint8_t *key, size_t keyLen, const uint8_t *plaintext, size_t plaintextLen, uint8_t *output, size_t *written)
Format encryptedContentInfo structure.
Definition: pkcs7_format.c:1689
PKCS #7 message formatting.
error_t pkcs7AddAttribute(const Pkcs7Attribute *attribute, uint8_t *attributes, size_t *length)
Add attribute.
Definition: pkcs7_format.c:1408
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
error_t pkcs7FormatDigestAlgos(const Pkcs7DigestAlgos *digestAlgos, uint8_t *output, size_t *written)
Format digestAlgos structure.
Definition: pkcs7_format.c:466
error_t asn1WriteInt32(int32_t value, bool_t reverse, uint8_t *data, size_t *written)
Write a 32-bit integer to the output stream.
Definition: asn1.c:781
Pkcs7IssuerAndSerialNumber issuerAndSerialNumber
Definition: pkcs7_common.h:294
error_t pkcs7FormatRecipientInfos(const PrngAlgo *prngAlgo, void *prngContext, const Pkcs7RecipientInfos *recipientInfos, const X509CertInfo *recipientCertInfo, const uint8_t *key, size_t keyLen, uint8_t *output, size_t *written)
Format recipientInfos structure.
Definition: pkcs7_format.c:1486
Debugging facilities.
error_t x509FormatRsaPssParameters(const X509RsaPssParameters *rsaPssParams, uint8_t *output, size_t *written)
Format RSASSA-PSS parameters.
Definition: x509_sign_format.c:275
ASN.1 (Abstract Syntax Notation One)