Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(AutoIt) Add Private Key to Java KeystoreAdds a private key to an existing Java keystore.
; This requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oJks = ObjCreate("Chilkat.JavaKeyStore") Local $sJksPassword = "myJksPassword" Local $sJksPath = "/someDir/keyStore.jks" ; Load the Java keystore from a file. Local $bSuccess = $oJks.LoadFile($sJksPassword,$sJksPath) If ($bSuccess <> True) Then ConsoleWrite($oJks.LastErrorText & @CRLF) Exit EndIf ; A JKS private key entry consists of both the private key, ; it's associated certificate (which contains the matching public key ; within the X.509 of the certificate), and the certificates in the ; chain of authentication to the root. ; ; Therefore, to add a private key entry to a JKS requires ; a Chilkat certificate object that has a private key and which also ; has the certificate chain (up to the root) available. ; There are many ways to get a Chilkat certificate object ; that contains (within it) the private key and the certificate chain ; This example will show two possibilities: ; (1) Where the cert and issuing root are provided in PEM format in .crt files, ; and the private key is also provided in unencrypted PEM format (.key file). ; (2) Where the cert, private key, and issuing root are provided in a single PFX. ; First for the .crt / .key files: $oCert = ObjCreate("Chilkat.Cert") ; Chilkat will automatically determine the format of the cert file and load it correctly. $bSuccess = $oCert.LoadFromFile("/mycerts/alice.crt") If ($bSuccess <> True) Then ConsoleWrite($oCert.LastErrorText & @CRLF) Exit EndIf ; Certificates required for building the chain of authentication can be ; added to an XML certificate vault object, and then provided as ; a source for obtaining certs when building the chain. $oCertVault = ObjCreate("Chilkat.XmlCertVault") $bSuccess = $oCertVault.AddCertFile("/mycerts/ca.crt") If ($bSuccess <> True) Then ConsoleWrite($oCertVault.LastErrorText & @CRLF) Exit EndIf $bSuccess = $oCert.UseCertVault($oCertVault) If ($bSuccess <> True) Then ConsoleWrite($oCert.LastErrorText & @CRLF) Exit EndIf ; Now provide the associated private key to the certificate object. ; The Chilkat private key class provides methods for loading from many formats (both ; encrypted and unencrypted). $oPrivKey = ObjCreate("Chilkat.PrivateKey") $bSuccess = $oPrivKey.LoadPemFile("/mycerts/alice.key") If ($bSuccess <> True) Then ConsoleWrite($oPrivKey.LastErrorText & @CRLF) Exit EndIf ; Provide the certificate object with the private key: $bSuccess = $oCert.SetPrivateKey($oPrivKey) If ($bSuccess <> True) Then ConsoleWrite($oCert.LastErrorText & @CRLF) Exit EndIf ; Our certificate object now contains all that we need to add it as a private key entry ; to the Java keystore: Local $sAlias = "alice" $bSuccess = $oJks.AddPrivateKey($oCert,$sAlias,$sJksPassword) If ($bSuccess <> True) Then ConsoleWrite($oJks.LastErrorText & @CRLF) Exit EndIf ; Write the updated JKS, which contains the new private key entry w/ certificate chain. $bSuccess = $oJks.ToFile($sJksPassword,$sJksPath) If ($bSuccess <> True) Then ConsoleWrite($oJks.LastErrorText & @CRLF) Exit EndIf ConsoleWrite("Added new private key entry (from .crt and .key files) to the JKS!" & @CRLF) ; Now let's add a new private key entry from a PFX that contains a single ; private key with associated cert and cert chain. $oPfx = ObjCreate("Chilkat.Pfx") $bSuccess = $oPfx.LoadPfxFile("/myPfxFiles/my.pfx","pfxPassword") If ($bSuccess <> True) Then ConsoleWrite($oPfx.LastErrorText & @CRLF) Exit EndIf ; This is easy -- simply add the PFX to the JKS $sAlias = "bob" $bSuccess = $oJks.AddPfx($oPfx,$sAlias,$sJksPassword) If ($bSuccess <> True) Then ConsoleWrite($oJks.LastErrorText & @CRLF) Exit EndIf ; Write the updated JKS, which contains the new private key entry w/ certificate chain ; that came from the PFX. $bSuccess = $oJks.ToFile($sJksPassword,$sJksPath) If ($bSuccess <> True) Then ConsoleWrite($oJks.LastErrorText & @CRLF) Exit EndIf ConsoleWrite("Added new private key entry (from PFX) to the JKS!" & @CRLF) |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.