AutoIt
AutoIt
Load Java KeyStore and Access Contents
See more Java KeyStore (JKS) Examples
Loads a Java keystore file and iterates over the contents. A Java keystore (.jks) file can contain one or more trusted root certificate entries and/or one or more private key entries. Each private key entry includes an associated certificate chain.Chilkat AutoIt Downloads
Local $bSuccess = False
; This requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
$oJks = ObjCreate("Chilkat.JavaKeyStore")
; 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 there has been no tampering with the file.
$bSuccess = $oJks.LoadFile("jksFilePassword","/someDir/keyStore.jks")
If ($bSuccess = False) Then
ConsoleWrite($oJks.LastErrorText & @CRLF)
Exit
EndIf
; Find out how many of each type of entry:
Local $iNumTrustedCerts = $oJks.NumTrustedCerts
Local $iNumPrivateKeys = $oJks.NumPrivateKeys
$oCert = ObjCreate("Chilkat.Cert")
Local $sAlias
; For each trusted certificate, access it by getting
; it as a cert object. Also get the alias associated with the certificate.
ConsoleWrite("Trusted Certs:" & @CRLF)
Local $i = 0
While $i < $iNumTrustedCerts
$bSuccess = $oJks.TrustedCertAt($i,$oCert)
ConsoleWrite($oJks.GetTrustedCertAlias($i) & ": " & $oCert.SubjectDN & @CRLF)
$i = $i + 1
Wend
$oPrivKey = ObjCreate("Chilkat.PrivateKey")
$oCertChain = ObjCreate("Chilkat.CertChain")
; For each private key entry, get the private key and
; the associated certificate chain.
; Each private key is password protected. Usually it is the same
; password as used for the keyed digest of the entire JKS.
; However, this does not have to be. The password is passed
; here to handle the possibility of each private key requiring
; a different password.
ConsoleWrite("Private Keys:" & @CRLF)
$i = 0
While $i < $iNumPrivateKeys
$oJks.PrivateKeyAt("jksFilePassword",$i,$oPrivKey)
ConsoleWrite($oJks.GetPrivateKeyAlias($i) & @CRLF)
$oJks.CertChainAt($i,$oCertChain)
; The 1st certificate in the chain is the one associated with the private key.
$oCertChain.CertAt(0,$oCert)
ConsoleWrite($oCert.SubjectDN & @CRLF)
$i = $i + 1
Wend