Chilkat v10.0.1 Release Notes

Chilkat v10.0.1 is a patch for certain builds of Chilkat. Previous Version: Chilkat v10.0.0 Release Notes/ .NET Core Packages on NuGet: When v10.0.0 was released, Chilkat removed the substring “-9.5.0” from the DLLs/shared libs in the ChilkatNativeLib NuGet package.  This caused the following error because now both native and managed DLLs were named the same (ChilkatDnCore.dll).  This is now fixed […]

Chilkat v10.0.0 Release Notes

Previous Version: Chilkat v9.5.0.99 Release Notes/ Semantic Versioning: Chilkat finally moves to standard semantic versioning. See the information about Chilkat Semantic Versioning starting in v10.0.0. Apple Keychain Integration: Chilkat is fully integrated with the Apple Keychain, including HSMs (USB tokens and smartcards).  This includes both MacOS and iOS.  Documentation and examples will be forthcoming and this release notes entry will […]

Chilkat v10.0.0 ActiveX Registration and Object Creation

Chilkat adopted standard semantic versioning starting with Chilkat version 10.0.0.  See https://cknotes.com/semantic-versioning-starting-with-chilkat-10-0-0/ For this discussion, it’s important to understand the fundamentals of ActiveX registration.  To ensure a basic understanding, I recommend briefly reviewing the tutorial web pages at https://chilkatsoft.com/activex_dll_registration_tutorial.asp It should take only 10 minutes, and I promise it will save you much time and frustration. ActiveX Object Creation / […]

Semantic Versioning Starting with Chilkat 10.0.0

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.  Going forward, when we move […]

Wrapping a Chilkat Synchronous Method in C# async/await

Chilkat provides its own Async functions, separate from C#’s async/await. For each synchronous Chilkat function that may take time due to network communication or other factors, an Async version is also available, returning a Chilkat Task object (distinct from C#’s Task object). Chilkat’s Async functionality exists in all of the programming languages: C++, PHP, Ruby, Perl, Python, VB6, VBScript, DataFlex, […]

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>

Returning Binary Data from ActiveX to SQL Server varbinary(max)

The error -2147211494 (hex 0x80040202) in SQL Server when using “sp_OAMethod” typically indicates a type mismatch or invalid data type issue, particularly when interacting with COM objects that return binary data. The Chilkat ActiveX returns a SAFEARRAY of VT_UI1, which causes the problem explained below.  The solution is to instead look for the Chilkat method that returns the binary data as […]

How to Implement a REST API Function

Question: We are trying to interface with RingCentral to send faxes and they require us to upload the file and also send a JSON message at the same time – is there a function that can do this? Answer: The best way to solve such a problem is as follows: 1. Find the Developer Documentation for the REST API in […]

Error Code 800A01AD trying to CreateObject in VBScript

Question: I got the following error when trying to instantiate an ActiveX object in my VBScript (.vbs) Code “800A01AD”Message “ActiveX component can’t create object: ‘Chilkat.Cert’” Answer: It means the ActiveX is not registered.  Yes, you probably registered the ActiveX, but you need to understand if your VBScript is running as a 32-bit process, or a 64-bit process.  You then need […]

How to Run 32-bit vs 64-bit VBScript

To run a .vbs VBScript explicitly as either a 32-bit or 64-bit process on a 64-bit Windows system, you need to specify which version of the Windows Script Host (wscript or cscript) to use. By default, the script runs using the version of the Windows Script Host that matches the bitness of the environment in which it is invoked (32-bit […]

Explaining .p7m and .p7s Files

.p7m and .p7s files are types of files associated with cryptographic signatures and encryption, specifically those based on the PKCS #7 standard. These files are commonly encountered in contexts like secure email and digitally signed documents. 1. What is a .p7m File? A .p7m file is a digitally signed or encrypted file that uses the PKCS #7 (Public Key Cryptography […]

Azure App Registration for using a Certificate for Authentication

This post explains how to create an Azure App Registration that will be used by applications that will authenticate using a digital certificate. To use a certificate for authentication with Microsoft Graph (or any other service that supports OAuth2 client credentials flow with certificates), you typically follow the App-Only Authentication method. This method is used when you’re performing tasks as […]

How Long can an OAuth2 Access Token be Refreshed?

The ability to refresh an OAuth2 access token using a refresh token depends on the following factors: The Expiration of the Refresh Token: Refresh tokens typically have longer lifetimes than access tokens, and in some cases, they may not expire at all (until revoked). However, some authorization servers issue refresh tokens with expiration times. The expiration time can vary depending […]