PowerBuilder
PowerBuilder
Convert Java KeyStore to PEM
See more Java KeyStore (JKS) Examples
Loads a Java keystore file and saves the trusted certificate entries to a PEM file.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Jks
string ls_JksPassword
oleobject loo_Fac
integer li_NumCerts
oleobject loo_Cert
string ls_Pem
integer i
li_Success = 0
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Jks = create oleobject
li_rc = loo_Jks.ConnectToNewObject("Chilkat.JavaKeyStore")
if li_rc < 0 then
destroy loo_Jks
MessageBox("Error","Connecting to COM object failed")
return
end if
ls_JksPassword = "myJksPassword"
// Load the Java keystore from a file. The JKS file password is used
// to verify the keyed digest that is found at the very end of the keystore.
// It verifies that the keystore has not been modified.
li_Success = loo_Jks.LoadFile(ls_JksPassword,"/someDir/keyStore.jks")
if li_Success = 0 then
Write-Debug loo_Jks.LastErrorText
destroy loo_Jks
return
end if
// Open/create the output PEM file.
// This example uses Chilkat's file access class for writing the output file.
// You may replace the file I/O lines of code with whatever is most convenient for you.
loo_Fac = create oleobject
li_rc = loo_Fac.ConnectToNewObject("Chilkat.FileAccess")
li_Success = loo_Fac.OpenForWrite("/pemFiles/caCerts.pem")
if li_Success = 0 then
Write-Debug loo_Fac.LastErrorText
destroy loo_Jks
destroy loo_Fac
return
end if
li_NumCerts = loo_Jks.NumTrustedCerts
loo_Cert = create oleobject
li_rc = loo_Cert.ConnectToNewObject("Chilkat.Cert")
// Iterate over the trusted certs, get the PEM for each,
// and append it to the output file.
i = 0
do while i < li_NumCerts
loo_Jks.TrustedCertAt(i,loo_Cert)
// Get the certificate in PEM format.
ls_Pem = loo_Cert.ExportCertPem()
// Append the PEM string to the open file.
li_Success = loo_Fac.AppendText(ls_Pem,"utf-8")
if li_Success <> 1 then
Write-Debug loo_Fac.LastErrorText
destroy loo_Jks
destroy loo_Fac
destroy loo_Cert
return
end if
i = i + 1
loop
// Close the output file.
loo_Fac.FileClose()
Write-Debug "Trusted certificates saved to PEM."
destroy loo_Jks
destroy loo_Fac
destroy loo_Cert