DataFlex
DataFlex
Load Certs from Java KeyStore into Trusted CA Roots
See more Java KeyStore (JKS) Examples
Demonstrates how to load a Java KeyStore containing CA root certificates that are to be trusted by the application. This can be done once at the beginning of an application, and then the trusted roots can be activated so that only these root CA certs are trusted by the application for any TLS connections.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vJks
Handle hoJks
String sPassword
Handle hoTroots
Integer i
Integer iNumCerts
Variant vCacert
Handle hoCacert
String sTemp1
Move False To iSuccess
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatJavaKeyStore)) To hoJks
If (Not(IsComObjectCreated(hoJks))) Begin
Send CreateComObject of hoJks
End
Set ComVerboseLogging Of hoJks To True
Move "myPassword" To sPassword
Get ComLoadFile Of hoJks sPassword "qa_data/jks/entrust_caCerts.jks" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoJks To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatTrustedRoots)) To hoTroots
If (Not(IsComObjectCreated(hoTroots))) Begin
Send CreateComObject of hoTroots
End
Set ComVerboseLogging Of hoTroots To True
Get pvComObject of hoJks to vJks
Get ComAddJavaKeyStore Of hoTroots vJks To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoTroots To sTemp1
Showln sTemp1
Procedure_Return
End
Move 0 To i
Get ComNumCerts Of hoTroots To iNumCerts
While (i < iNumCerts)
Get ComGetCert Of hoTroots i To vCacert
If (IsComObject(vCacert)) Begin
Get Create (RefClass(cComChilkatCert)) To hoCacert
Set pvComObject Of hoCacert To vCacert
End
Get ComSubjectDN Of hoCacert To sTemp1
Showln i ": " sTemp1
Send Destroy of hoCacert
Move (i + 1) To i
Loop
// Activate this specific set of trusted roots.
Get ComActivate Of hoTroots To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoTroots To sTemp1
Showln sTemp1
Procedure_Return
End
// Output:
// 0: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority
// 1: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
// 2: C=US, O="Entrust, Inc.", OU=www.entrust.net/CPS is incorporated by reference, OU="(c) 2006 Entrust, Inc.", CN=Entrust Root Certification Authority
End_Procedure