Chilkat 14-Dec-2021 — PDF Signature Notes

What’s going on with Chilkat support today…

1. The Http.PostJson, PostJson2, and PostJson3 methods neglect to send a Content-Type header if a completely empty body is sent.  Starting in the next version (v9.5.0.90) Chilkat will always send the Content-Type header for these methods even if the JSON body is completely empty (i.e. a zero-length string where the Content-Length of the body is 0 bytes).

2. PDF Signatures:

  • When signing, the signing certificate and certs in the chain of authentication (to the root CA) are validated (i.e. cert signatures validated against the public key of the issuer, etc.)   If counter-signing, then the certs present in already-existing signatures are also validated unless the “NO_VERIFY_CERT_SIGNATURES” keyword is present in the UncommonOptions property.  The “NO_VERIFY_CERT_SIGNATURES” keyword only applies existing signatures when counter-signing.  It may make sense to avoid verifying the certs in existing signatures because you may not have the required intermediate and root CA certs on your system, thus it may not be possible.  But you should always want to validate the cert used in creating the new signature.  If invalid certs are used, the recipient’s software (such as Acrobat) will certainly notice and report an error.
  • Can Chilkat produce a signature exactly like Adobe Acrobat, using the same graphic?   No.   It would be copyright infringement to use the same graphic/logo, so Chilkat cannot do it.
  • If a JPEG image is included in the visible signature, it must be a JPG saved in the BaseLine format and not Progressive.

3. Question: Is it possible to send email through GMail accounts using “secure authentication” without having to register an application in Google?  The answer is No.  See “Setting Up OAuth 2.0 (Google)” for more information.  You’ll need to create your “app” to get a Client ID / Secret, and then the 1st time a GMail account owner (user of your application) needs to send email, he would need to interactively (via a browser) give permission to your app to access his GMail for the intended purposes (scopes), such as for sending email.  From that point forward, the access token can be refreshed without user interaction.  (OAuth2 access tokens generally expire after some time.)

4. How to handle huge integers in JSON?   Let’s say you have a JSON member such as  { “size”: 2689434955 }.   The Chilkat JsonObject methods for returning a member value as an integer  (such as IntOf and IntAt) return 32-bit signed integers.  If a JSON member is likely to hold an integer exceeding the max size of a 32-bit integer, then you can instead get the value as a string (StringOf, StringAt) and then convert the string to the appropriately typed integer in your programming language.

Chilkat 13-Dec-2021 — PDF Signature not Visible in Chrome or Microsoft Edge

Chilkat 16-Dec-2021 — idToken HTTP Header