AutoIt
AutoIt
Get the Certificate with Private Key from a Java KeyStore
See more Java KeyStore (JKS) Examples
Load a Chilkat certificate object from a Java KeyStore.Chilkat AutoIt Downloads
Local $bSuccess = False
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
; Most of the time a .jks contains one certificate with it's associated private key.
; (Similar to how a .pfx/.p12 usually contains a particular certificate with private key.)
; This example demonstrates how to get the certificate with private key such that it can be used
; by other Chilkat classes wherever a cert w/ private key is needed.
$oJks = ObjCreate("Chilkat.JavaKeyStore")
Local $sPassword = "secret"
$bSuccess = $oJks.LoadFile($sPassword,"qa_data/jks/test_secret.jks")
If ($bSuccess = False) Then
ConsoleWrite($oJks.LastErrorText & @CRLF)
Exit
EndIf
; Make sure we have a private key.
If ($oJks.NumPrivateKeys < 1) Then
ConsoleWrite("No private key available." & @CRLF)
Exit
EndIf
; -------------------------------------------------------------------------
; Get the certificate chain associated with the 1st (and probably only) private key in the JKS.
$oChain = ObjCreate("Chilkat.CertChain")
$bSuccess = $oJks.CertChainAt(0,$oChain)
If ($bSuccess = False) Then
ConsoleWrite($oJks.LastErrorText & @CRLF)
Exit
EndIf
$oCert = ObjCreate("Chilkat.Cert")
$bSuccess = $oChain.CertAt(0,$oCert)
If ($bSuccess = False) Then
ConsoleWrite($oChain.LastErrorText & @CRLF)
Exit
EndIf
; Verify again that this cert has a private key.
If ($oCert.HasPrivateKey() <> True) Then
ConsoleWrite("Certificate has no associated private key." & @CRLF)
Exit
EndIf
; We now have the cert object with it's associated private key, and it can be used in other Chilkat classes where needed.
; For example..
$oCrypt = ObjCreate("Chilkat.Crypt2")
$bSuccess = $oCrypt.SetSigningCert($oCert)
If ($bSuccess = False) Then
ConsoleWrite($oCrypt.LastErrorText & @CRLF)
Exit
EndIf
; ...
; ...