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

Chilkat 4-May-2022 – This Python version does not match the downloaded Chilkat module.

Question: Unable to install Chilkat because of the Python version and architecture error: “This Python version does not match the downloaded Chilkat module.” Answer: Refer to the install instructions here: You can open the script in a text editor to see what it does.  It’s simply verifying that your version of Python (such as “3.7”) matches the version […]

Chilkat 10-Dec-2021 – Brasilian Tax Server problems?

Chilkat is going to try to blog daily notes on issues we’re handling for customers. So… starting for today.. Suddenly SOAP XML posts to the Brasilian tax server  stop working with a 415 response code having error “The server cannot service the request because the media type is unsupported.”.    The error “media type is unsupported” generally means the server […]

Start Browser from Client-Side PHP Script

Let’s say you have a PHP script (not PHP on a web server, but simply a .php script that you run from a command line), this is one way to start/launch a browser and automatically load/navigate to a URL. <?php // Type “start iexplore” and press “Enter” to open Internet Explorer and view its default home screen. // Alternatively, type […]

DNS Error: failed to get host address info, gai_error 8

If your MacOSX/iOS Swift application gets this error in the Chilkat LastErrorText: smtpSocketConnect: socket2Connect: connect2: connectImplicitSsl: connectSocket: connect_ipv6_or_ipv4: getAddressInfo: Failed to get host address info. (4) gai_error: 8 hostOrIpAddr: port: 465 –getAddressInfo getAddressInfo failed. –connect_ipv6_or_ipv4 –connectSocket –connectImplicitSsl ConnectFailReason: DNS lookup failed –connect2 –socket2Connect The solution is to enable the Outgoing Connections option in your Swift project.

Python Error: UnicodeEncodeError: ‘charmap’ codec can’t encode character

Question: I’ve discovered an error on your example ( ) as follows… AccountID: f1f489fb-9267-429e-a1dc-bc63a7c3f71e Traceback (most recent call last): File “M:\EXPORTIT\PY\”, line 50, in print(“Name: ” + xml.GetChildContent(“Accounts|Account[i]|Name”)) File “m:\Python\Python35-32\lib\encodings\”, line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_map)[0] UnicodeEncodeError: ‘charmap’ codec can’t encode character ‘\u2013′ in position 20: character maps to It’s failing on the this line from the “”, Wages […]

O365 IMAP Authentication: OAuth and MFA Solution

There is much confusion and worry about Microsoft’s plans to disable standard password authentication for the IMAP, and POP3  protocols. Here is the announcement posted on 20-Sept-2019 on the Office 365 blog: Chilkat already supports OAuth2 for the IMAP, POP3, and SMTP protocols. (Microsoft will continue to support basic auth for SMTP)  In all three protocols, an application can […]