Chilkat v9.5.0.96 Release Notes

Previous Version: Chilkat v9.5.0.96 Release Notes DNS: Created a new Dns class for managing DNS nameservers to be used by Chilkat, and for doing DNS queries. It is a singleton class that allows an application to select the DNS nameservers used throughout Chilkat. The term “singleton” means that all Chilkat DNS object instances work with a single copy of […]

Chilkat v9.5.0.95 Release Notes

Next Version: Previous Version: Chilkat v9.5.0.95 Release Notes PDF: Greatly improved the appearance of non-English text in visible PDF signatures. SFTP: The HostKeyFingerprint property will now correctly return the ssh-ed25519 fingerprint, such as “ssh-ed25519 256 da:7b:ce:4f:d7:56:5e:11:a1:a0:fc:74:dd:4d:50:da”, for cases when an Ed25519 host key is used in the connection. Mime: Mime bodies having the content types application/vnd.openxmlformats-officedocument.wordprocessingml.document did not […]

Possible Solution for Failure to Produce LTV Enabled PDF Signature

This blog post describes the case where your application asks Chilkat to produce an LTV-enabled PDF signature by specifying “ltvOcsp” in the signing attributes, yet the signed PDF as viewed in Adobe Acrobat does not show the signature as being LTV enabled. For example, in Adobe Acrobat, an LTV enabled signature looks like this: You can see the message “Signature […]

Don’t Forget to Give Your Android Application INTERNET Permissions

In Android, network permissions are necessary for applications that want to establish network connections and use sockets to communicate over the internet. These permissions are declared in the AndroidManifest.xml file, and they inform the Android system about the specific capabilities an application requires. For applications that use sockets and perform network-related operations, the following permissions are commonly used: 1. INTERNET […]

Chilkat Socket Thread-Safety

Question: In my Visual FoxPro program, accessing the IsConnected property on a ChilkatSocket hangs when a “ReceiveUntilByteBdAsync” is run immediately after connecting the socket. Here is a minimal reproducible example: LOCAL loSocket loSocket = CreateObject(‘Chilkat_9_5_0.Socket’) loSocket.connect(‘’, 8945, .f., 5000) &&used external socket server to be sure it was unrelated loBinData = CreateObject(‘Chilkat_9_5_0.BinData’) loTask = loSocket.ReceiveUntilByteBdAsync(ASC(‘Z’), loBinData) ?loSocket.IsConnected &&works ?loSocket.IsConnected […]

SMTP Timeout Sending Large Email

Question: While trying to send an email with an attachment of size 9MB from my application, I get an error.  Interestingly, the file gets delivered to the email address still we get the error in the application. Answer: Looking at the MailMan.LastErrorText for the call to SendEmail, we can see this: ChilkatLog: SendEmail: … ReadTimeout: 30000 … … sendCmdToSmtp: SmtpCmdSent: […]

OAuth2 in a DataFlex Web Application

Question: I have seen that your lib support OAuth2 for DataFlex-Framework but only for Desktop-Clients.  Is it correct or is there any support for DataFlex-Web-Applications? Answer: The functionality Chilkat provides in desktop applications for the OAuth2 authorization code flow, is to make your desktop application behave as a temporary web server to receive the single local HTTP redirect request from […]

OAuth2 Client Credentials – Azure App Registration

This post shows how to register an Azure Application that supports OAuth2 Client Credentials. 1. Register an Application You’ll most likely choose a single-tenant application.  (See explanation of Azure single-tenant vs multi-tenant applications.) You can leave the Redirect URI blank. 2. Note your Application (client) ID and Directory (tenant) ID Make note of your client ID and tenant ID.  It […]

Azure Single-Tenant vs Multi-Tenant Applications

The distinction between single-tenant and multi-tenant Azure applications lies in how these applications handle user access and authentication across different Azure AD tenants (directories). Single-Tenant Azure Application: A single-tenant application is designed to serve users from a single Azure AD tenant (directory). It is registered in and can authenticate users only from that specific Azure AD tenant.  It is used […]

OAuth2 Client Credentials – for when YOUR application is accessing resources in YOUR account (not somebody else’s)

OAuth2 Client Credentials can be used for authentication when you own the application, and you also own the account (such as Office 365, or Google, etc.) that your application will access. In other words, YOUR application is simply accessing resources in YOUR account, and YOU are the application user (or your application is running as a service or background process). […]