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) List Keys in a Microsoft Storage ProviderDemonstrates how to list the keys found in a Microsoft CNG Storage Provider, or a Legacy CryptoAPI Storage Provider. Important: This example requires Chilkat v9.5.0.83 or greater.
; This example requires Chilkat v9.5.0.83 or greater. $oKeyCon = ObjCreate("Chilkat.KeyContainer") $oJson = ObjCreate("Chilkat.JsonObject") $oJson.EmitCompact = False Local $bSuccess = $oKeyCon.GetKeys("Microsoft Software Key Storage Provider",$oJson) If ($bSuccess <> True) Then ConsoleWrite($oKeyCon.LastErrorText & @CRLF) Exit EndIf ConsoleWrite($oJson.Emit() & @CRLF) ; Sample JSON returned by GetKeys ; If the storage provider is CNG, then each key has an "algId". ; If the storage provider is legacy CryptoAPI, then each key has a "provType" (see below) ; If the storage provider is CNG: ; { ; "storageProvider": "Microsoft Software Key Storage Provider", ; "key": [ ; { ; "name": "cn=Chilkat Admin,ou=Persona Not Verified,ou=For Test Purposes Only Decryption Key", ; "machineKey": false, ; "algId": "ECDH_P384" ; }, ; { ; "name": "CD1CC265-0DA0-4230-8419-CB6F808FE688", ; "machineKey": false, ; "algId": "SP800_108_CTR_HMAC" ; }, ; { ; "name": "{FF14487C-0AED-471E-8FAD-4BF757C2195C}", ; "machineKey": false, ; "algId": "ECDH_P256" ; }, ; { ; "name": "{869FD9A6-D815-44FD-A916-4D4A708CD949}", ; "machineKey": false, ; "algId": "ECDH_P256" ; }, ; { ; "name": "D530ECA9-FF5A-4A6A-AAB3-6EC1870F2CC3", ; "machineKey": false, ; "algId": "SP800_108_CTR_HMAC" ; }, ; { ; "name": "{F524771E-93C0-4D56-8DE7-2FE3CB5BD837}", ; "machineKey": false, ; "algId": "RSA" ; }, ; { ; "name": "Microsoft Connected Devices Platform device certificate", ; "machineKey": false, ; "algId": "ECDSA_P256" ; } ; ] ; } ; If the storage provider is legacy CryptoAPI: ; { ; "storageProvider": "Microsoft Base Cryptographic Provider v1.0", ; "key": [ ; { ; "name": "{48D7FF88-A52E-41E2-9EBD-0CC7E880DC65}", ; "machineKey": false, ; "provType": "PROV_RSA_FULL" ; }, ; { ; "name": "{CBF7A33A-F9CF-4C30-8A06-94A5C7981058}", ; "machineKey": false, ; "provType": "PROV_RSA_FULL" ; } ; ] ; } ; Use this online tool to generate parsing code from sample JSON: ; Generate Parsing Code from JSON Local $sName Local $bMachineKey Local $sAlgId Local $sProvType Local $storageProvider = $oJson.StringOf("storageProvider") Local $i = 0 Local $iCount_i = $oJson.SizeOfArray("key") While $i < $iCount_i $oJson.I = $i $sName = $oJson.StringOf("key[i].name") $bMachineKey = $oJson.BoolOf("key[i].machineKey") If ($oJson.HasMember("key[i].algId") = True) Then $sAlgId = $oJson.StringOf("key[i].algId") EndIf If ($oJson.HasMember("key[i].provType") = True) Then $sProvType = $oJson.StringOf("key[i].provType") EndIf $i = $i + 1 Wend |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.