Sample code for 30+ languages & platforms
Tcl

Add Trusted Certificate to JKS

See more Java KeyStore (JKS) Examples

Adds a trusted certificate to a Java keystore file.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set jks [new_CkJavaKeyStore]

set jksPassword "secret"
set jksPath "/myJksTrustedCerts/cacerts.jks"

# Load the Java keystore from a file.
set success [CkJavaKeyStore_LoadFile $jks $jksPassword $jksPath]
if {$success != 1} then {
    puts [CkJavaKeyStore_lastErrorText $jks]
    delete_CkJavaKeyStore $jks
    exit
}

set cert [new_CkCert]

# The cert's LoadFrommFile method can load a certificate from
# virtually any format.  It will automatically determine the format
# and load appropriately.
set success [CkCert_LoadFromFile $cert "/certFiles/myNewTrustedCert.pem"]
if {$success != 1} then {
    puts [CkCert_lastErrorText $cert]
    delete_CkJavaKeyStore $jks
    delete_CkCert $cert
    exit
}

# The alias can be anything.  It's basically just a label 
# used within the JKS associated with the entry.  It should
# be unique among aliases within the JKS file.
set alias "habanero"

set success [CkJavaKeyStore_AddTrustedCert $jks $cert $alias]
if {$success != 1} then {
    puts [CkJavaKeyStore_lastErrorText $jks]
    delete_CkJavaKeyStore $jks
    delete_CkCert $cert
    exit
}

# Write the JKS containing the new certificate.
set success [CkJavaKeyStore_ToFile $jks $jksPassword $jksPath]
if {$success != 1} then {
    puts [CkJavaKeyStore_lastErrorText $jks]
    delete_CkJavaKeyStore $jks
    delete_CkCert $cert
    exit
}

puts "Added a trusted certificate to the JKS."

delete_CkJavaKeyStore $jks
delete_CkCert $cert