How ASN.1 Encodes Lengths

In ASN.1 (Abstract Syntax Notation One), lengths are encoded as part of the TLV (Type-Length-Value) structure, where each element consists of: Type: Identifies the data type of the element. Length: Specifies the number of bytes that make up the element’s content. Value: Contains the actual data or content. The Length field in ASN.1 encoding is designed to allow both short […]

What is a .p7m or .p7s File?

“.p7m” and “.p7s” files are both related to PKCS #7 (Public Key Cryptography Standards #7) and are used for secure email and digital signatures. These files encapsulate data with cryptographic signatures and certificates to verify the identity of the sender and/or the integrity of the message. 1. “.p7m” File (Signed and Encrypted Content) Description: A “.p7m” file is a digitally […]

OCSP Nonce Lengths

In the OCSP (Online Certificate Status Protocol), the nonce is an optional field used to prevent replay attacks by ensuring that the OCSP response corresponds to the specific OCSP request. The nonce is a randomly generated value included in the OCSP request and echoed back in the response by the OCSP server. Nonce Length in OCSP There is no strict […]

Code Signing with a USB Token

Here are examples for code signing with a USB token.. AutoIt Code Signing using Sectigo USB Token C Code Signing using Sectigo USB Token Python Code Signing using Sectigo USB Token C++ Code Signing using Sectigo USB Token C# Code Signing using Sectigo USB Token DataFlex Code Signing using Sectigo USB Token Delphi Code Signing using Sectigo USB Token .NET […]

Wasabi: The provided ‘x-amz-content-sha256’ header does not match what was computed.

As of 14-Oct-2024, Wasabi (an S3 compatible service), does not understand that uppercase/lowercase hex should not matter.. <Error> <Code>XAmzContentSHA256Mismatch</Code> <Message>The provided ‘x-amz-content-sha256’ header does not match what was computed.</Message> <ClientComputedContentSHA256>8AFBD736EC2917807F5FF5D8A9018846AA9D6B25EC839506DACE0D588DE491C5</ClientComputedContentSHA256> <S3ComputedContentSHA256>8afbd736ec2917807f5ff5d8a9018846aa9d6b25ec839506dace0d588de491c5</S3ComputedContentSHA256> <RequestId>…</RequestId> <HostId>…</HostId> <CMReferenceId>…</CMReferenceId> </Error>

How to Setup a Google Service Account to Send Email via GMail

Sending GMail from a Google Service Account can be a complicated undertaking w.r.t. setting things up in your Google account correctly. If something is not correct, the only indication of an error will be that the SMTP authentication fails. The best one can do is to first fully understand Google Service Accounts: Explaining Google Service Accounts   Then read about […]

PDF Unsigned Signature Fields

Unsigned signature fields in a PDF are placeholders for digital signatures that can be added to a PDF document at a later time. These fields are often created by the author or originator of the document, and they indicate where and how a digital signature should be placed. When the document is distributed, recipients can then use these fields to […]

Explaining the SigningTime Authenticated Attribute in PKCS7 Signatures

The “signingTime” authenticated attribute in PKCS #7 (now part of Cryptographic Message Syntax or CMS) signatures is an optional attribute that indicates the date and time when the digital signature was created. It is commonly included in signed-data objects to provide a timestamp that can help verify when a signature was applied. Detailed Explanation: Attribute OID: The “signingTime” attribute is […]