Chilkat v11.3.0 Release Notes

Pinned December 16, 2025

  The main features of this release focus on Chilkat’s Ai class, enabling interactive AI response streaming directly into embedded desktop application browsers. It supports Azure, custom base URLs for OpenAI-compatible providers, and local providers like Ollama. ✨ New Features Ai Real-Time Streaming AI Responses to Embedded Browsers in Desktop Apps — Stream AI responses […]

Chilkat v11.2.0 Release Notes

Pinned November 3, 2025

Previous Version: Chilkat v11.1.0 Release Notes The main addition in v11.2.0 is the Chilkat.Ai class, and the Chilkat.StringBuilder.MarkdownToHtml method. Ai: The Chilkat AI class provides a unified API for interacting with different AI providers: OpenAI, Google, Claude, xAI, Perplexity, and DeepSeek. It provides functionality for conversation management, multimodal inputs, and streaming mode. Markdown to HTML […]

Semantic Versioning Starting with Chilkat 10.0.0

Pinned September 26, 2024

Starting with the v10.0.0 release (end of September 2024), Chilkat moves to standard semantic versioning.   Prior to this release, for various technical reasons, Chilkat was stuck with versions 9.5.0.xx, where only xx changed. For this first leap to semantic versioning, where the major version changes to 10 (from 9), there are no backward incompatible changes.  […]

Crypt2.SetEncodedKey – Help! I Passed a non-Hex String but Told Chilkat it was Hex

February 21, 2025 in Uncategorized

You made a mistake and set an AES encryption key in the wrong way like this: Chilkat.Crypt2 crypt = new Chilkat.Crypt2(); crypt.KeyLength = 256; crypt.CryptAlgorithm = “aes”; // This is the error. We passed base64 (or anything that is NOT a hexidecimal string) // And then asked Chilkat to decode it as hex. crypt.SetEncodedKey(“rZFNAfY7CirLtWxKiRU187k9mqcGCBZnV4QrmBvsboE”,”hex”); And […]

Using a .nupkg for Temporary Development Use

January 12, 2025 in Uncategorized

To add a reference to a “.nupkg” file (a NuGet package) in a .NET 6.0 project, you can follow these steps: Option 1: Add the .nupkg File to a Local NuGet Source Create a Local NuGet Source: Place your “.nupkg” file in a folder, e.g., “C:\NuGetPackages”. Configure the Local Source in NuGet: Open a terminal […]

Be Careful when Using non-us-ascii String Literals in Source Code

January 4, 2025 in Uncategorized

When using non-US-ASCII literal strings (e.g., accented characters like “é”, “ü”, or symbols from other scripts like “你好”) in source code, it’s crucial to handle them carefully due to potential issues with encoding, interpretation, and compatibility. Here’s an explanation of key considerations: 1. Source Code File Encoding Encoding Matters: The source code file must be […]

FTP Rename Remote File – What Happens if the Target Remote File Already Exists?

December 6, 2024 in Uncategorized

The behavior of the FTP “RNTO” command when the target file already exists depends on the FTP server implementation and configuration. The File Transfer Protocol (FTP) itself, as defined in RFC 959, does not explicitly specify what should happen in this case, leaving it up to the server’s discretion. Typical Behaviors for “RNTO” When the […]

How ASN.1 Encodes Lengths

October 31, 2024 in Uncategorized

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 […]

What is a .p7m or .p7s File?

October 31, 2024 in Uncategorized

“.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 […]

OCSP Nonce Lengths

October 25, 2024 in Uncategorized

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 […]

Code Signing with a USB Token

October 16, 2024 in Uncategorized

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 […]

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

October 14, 2024 in Uncategorized

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

October 14, 2024 in Uncategorized

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 […]