Sample code for 30+ languages & platforms
PureBasic

Add Trusted Certificate to JKS

See more Java KeyStore (JKS) Examples

Adds a trusted certificate to a Java keystore file.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkJavaKeyStore.pb"
IncludeFile "CkCert.pb"

Procedure ChilkatExample()

    success.i = 0

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

    jks.i = CkJavaKeyStore::ckCreate()
    If jks.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    jksPassword.s = "secret"
    jksPath.s = "/myJksTrustedCerts/cacerts.jks"

    ; Load the Java keystore from a file.
    success = CkJavaKeyStore::ckLoadFile(jks,jksPassword,jksPath)
    If success <> 1
        Debug CkJavaKeyStore::ckLastErrorText(jks)
        CkJavaKeyStore::ckDispose(jks)
        ProcedureReturn
    EndIf

    cert.i = CkCert::ckCreate()
    If cert.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; The cert's LoadFrommFile method can load a certificate from
    ; virtually any format.  It will automatically determine the format
    ; and load appropriately.
    success = CkCert::ckLoadFromFile(cert,"/certFiles/myNewTrustedCert.pem")
    If success <> 1
        Debug CkCert::ckLastErrorText(cert)
        CkJavaKeyStore::ckDispose(jks)
        CkCert::ckDispose(cert)
        ProcedureReturn
    EndIf

    ; 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.
    alias.s = "habanero"

    success = CkJavaKeyStore::ckAddTrustedCert(jks,cert,alias)
    If success <> 1
        Debug CkJavaKeyStore::ckLastErrorText(jks)
        CkJavaKeyStore::ckDispose(jks)
        CkCert::ckDispose(cert)
        ProcedureReturn
    EndIf

    ; Write the JKS containing the new certificate.
    success = CkJavaKeyStore::ckToFile(jks,jksPassword,jksPath)
    If success <> 1
        Debug CkJavaKeyStore::ckLastErrorText(jks)
        CkJavaKeyStore::ckDispose(jks)
        CkCert::ckDispose(cert)
        ProcedureReturn
    EndIf

    Debug "Added a trusted certificate to the JKS."


    CkJavaKeyStore::ckDispose(jks)
    CkCert::ckDispose(cert)


    ProcedureReturn
EndProcedure