ZATCA Toolkit SDK Produces Invalid Results for E-invoicing Phase 2

This describes the invalid results produced by the ZATCA Toolkit SDK at The ZATCA toolkit produces a DigestValue for the xadesSignedProperties (i.e. 2nd Reference) that is not correct. For example, the following sha256 digest (created by ZATCA) is NOT correct: <ds:Reference Type=“” URI=”#xadesSignedProperties”> <ds:DigestMethod Algorithm=“”/> <ds:DigestValue>ZDZjMzQyZTBjNGVjY2VlODgxYTBiMzhiNDFlM2QxZTlkZDkyMDQ1NTEwNzUwN2RhYjUwNGNmZmNmNTFmY2I2OA==</ds:DigestValue> </ds:Reference> The base64 string “ZDZ…..” decodes to 64 bytes.  A SHA256 digest MUST […]

Problems with XML Signatures for TicketBAI and FacturaE in Spain are Fixed in v9.5.0.92

Certain problems regarding the signing of XML documents for TicketBAI (Basque Government) and FacturaE in Spain have been fixed.  At the time of writing this blog post (31-July-2022), Chilkat v9.5.0.92 is not yet released.  You may send email to to request a pre-release.  Please indicate your programming language, operating system, etc. so that Chilkat knows exactly which build you […]

Bit4id Digital-DNA 0

Chilkat added support for the Bit4id Digital-DNA Identity device.   ( The easiest way to use the device for signing within applications is via the Chilkat.Cert.LoadFromSmartcard method. At the time of this writing (28-July-2022) the latest version of Chilkat (v9.5.0.91) does not yet support this device.  If v9.5.0.92 or later is not yet released, you can request a pre-release build by […]

Does Chilkat Support WebHooks?

Question:  I’ve been asked to write an application that supports WebHooks (asynchronous communications back to me) and RESTful API’s(synchronous send to them). Answer: Some REST API’s, such as Shopify, allow an application to create webhook subscriptions.  (See  When some event happens, the service (such as Shopify) will send an HTTP POST request to your applicaton’s endpoint URL specified by […]

Fix for Spain FacturaE Signature Online Example

A Chilkat user graciously reported an error in the example at “I use it to sign TicketBAI XML files and FacturaE in Spain. I noticed that the FacturaE signatures weren’t validating properly on some government websites with an error something like “the signature is not a correct xades signature”. The namespace “etsi” was replaced with “xades” in the following […]

Set Default Permissions of SFTP Uploaded Files to 664

Question:  How can I set the default permissions of every file uploaded without the need to change the file permissions on the server after the upload?  I want all uploaded files to have permissions 664. Answer: On most servers, the default file permissions should already be 664. To explicitly set the permissions to be used for uploaded files, then the […] Service Accounts (user representation of your app)

This post it to better explain what happens when you create an “App” in   Box will automatically generate a Service Account where the name of the account is the name of your app.  When you make API calls, it is for this service account, and the files that exist and what you see are not the same as your […]

Problems with ZATCA XML Signatures, Invoice Hash, and QR

Chilkat is trying to help various customers with signing XML invoices (XML Digital Signatures) to produce valid signed XML for Saudi ZATCA.   I’m sorry to say that so far it is not successful.  The reason is that the ZATCA SDK Toolkit produces obviously invalid results. In addition, the documentation has many errors and is not accurate. Let’s begin with installation […]

Getting Started with Chilkat Go on Ubuntu Linux

Verify Go is Installed The $GOPATH environment variable should be defined, and “go” should be a command.  The following commands check $GOPATH, check the version of Go, and list the contents of the $GOPATH directory. Download into $GOPATH/src The Chilkat version shown here may not be the latest version of Chilkat.  Get the latest version URL from Unzip […]

Chilkat v9.5.0.91 Release Notes

Previous Version: Chilkat v9.5.0.91 Release Notes Smart Card: Improved automatic recognition and handling for various smart cards. Chilkat.Charset: Fixed behavior when ErrorAction property is set to value 1 to replace non-convertable chars with a pre-specified char. SFtp: Fixed: SyncTreeUpload did not pay attention to the SyncMustMatchDir property. Ssh: Fixed: The ChannelReadAndPoll method incorrectly returned the number of bytes available […]