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
(Classic ASP) Windows Credentials Manager / Apple Keychain - List All SecretsSee more Secrets ExamplesOn Windows, lists all secrets in the Windows Credentials Manager. On MacOS or iOS, lists all secrets in the Apple Keychain. Note: This example requires Chilkat v10.1.0 or later. For more information, see https://cknotes.com/chilkat-secrets-class-added-in-version-10-1-0/
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Secrets") set secrets = Server.CreateObject("Chilkat.Secrets") ' On Windows, this is the Windows Credentials Manager ' On MacOS/iOS, it is the Apple Keychain secrets.Location = "local_manager" ' Pass an empty JSON object to list all secrets. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = Server.CreateObject("Chilkat.JsonObject") ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set results = Server.CreateObject("Chilkat.JsonObject") results.EmitCompact = 0 success = secrets.ListSecrets(json,results) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( secrets.LastErrorText) & "</pre>" Response.End End If Response.Write "<pre>" & Server.HTMLEncode( results.Emit()) & "</pre>" ' Sample output on Windows (listing all secrets contained in the Windows Credentials Manager) ' The "targetName" is purely informational and indicates the raw TargetName of the secret (i.e. Credential) stored in the Credentials Manager. ' Code for parsing (iterating) the JSON results is shown below.. ' { ' "secrets": [ ' { ' "appName": "Test", ' "service": "MyService", ' "domain": "Xyz", ' "username": "MySecret", ' "targetName": "Test/MyService/Xyz/MySecret" ' }, ' { ' "appName": "Chilkat", ' "service": "TestSplit", ' "domain": "local", ' "username": "Matt", ' "targetName": "Chilkat/TestSplit/local/Matt" ' }, ' { ' "appName": "Test2", ' "service": "Custom", ' "domain": "Ocean", ' "username": "Starfish20", ' "targetName": "Test2/Custom/Ocean/Starfish20" ' }, ' { ' "service": "VS Code Azure", ' "domain": "", ' "username": "Azure", ' "targetName": "VS Code Azure/Azure" ' }, ' { ' "appName": "Test2", ' "service": "Custom", ' "domain": "Ocean", ' "username": "Starfish", ' "targetName": "Test2/Custom/Ocean/Starfish" ' }, ' { ' "appName": "AA_MyApp", ' "service": "OAuth2", ' "domain": "onedrive", ' "username": "matt", ' "targetName": "AA_MyApp/OAuth2/onedrive/matt" ' } ' ] ' } ' --------------------------------------------------------------------------------------- ' Here's sample output for listing secrets on MacOS ' Some are secrets created using Chilkat's API, others are pre-existing secrets. ' The "keyChainService" and "keyChainAccount" members are purely informational and show the raw Apple Keychain Service and Account information for the secret. ' { ' "secrets": [ ' { ' "service": "com.apple.scopedbookmarksagent.xpc", ' "username": "com.apple.scopedbookmarksagent.xpc", ' "keyChainService": "com.apple.scopedbookmarksagent.xpc", ' "keyChainAccount": "com.apple.scopedbookmarksagent.xpc" ' }, ' { ' "service": "StandaloneBeacon", ' "username": "searchparty", ' "keyChainService": "StandaloneBeacon", ' "keyChainAccount": "searchparty" ' }, ' { ' "service": "BeaconStore", ' "username": "BeaconStoreKey", ' "keyChainService": "BeaconStore", ' "keyChainAccount": "BeaconStoreKey" ' }, ' { ' "service": "LocalStorage", ' "username": "findmylocate", ' "keyChainService": "LocalStorage", ' "keyChainAccount": "findmylocate" ' }, ' { ' "service": "ProtectedCloudStorage", ' "username": "default", ' "keyChainService": "ProtectedCloudStorage", ' "keyChainAccount": "default" ' }, ' { ' "service": "CloudStorage", ' "username": "findmylocate", ' "keyChainService": "CloudStorage", ' "keyChainAccount": "findmylocate" ' }, ' { ' "service": "CloudKitCache", ' "username": "FindMyCloudKit", ' "keyChainService": "CloudKitCache", ' "keyChainAccount": "FindMyCloudKit" ' }, ' { ' "service": "com.apple.continuity.encryption", ' "username": "handoff-own-encryption-key", ' "keyChainService": "com.apple.continuity.encryption", ' "keyChainAccount": "handoff-own-encryption-key" ' }, ' { ' "service": "com.apple.NetworkServiceProxy.ProxyToken", ' "username": "CloudFlare", ' "keyChainService": "com.apple.NetworkServiceProxy.ProxyToken", ' "keyChainAccount": "CloudFlare" ' }, ' { ' "appName": "Chilkat", ' "service": "çözツ新", ' "domain": "local", ' "username": "Matt", ' "keyChainService": "Chilkat/çözツ新", ' "keyChainAccount": "local/Matt" ' }, ' { ' "service": "AirPort", ' "username": "FP Public WiFi", ' "keyChainService": "AirPort", ' "keyChainAccount": "FP Public WiFi" ' } ' ] ' } ' --------------------------------------------------------------------------------------- ' Here's sample code for parsing the JSON list of secrets. i = 0 count_i = results.SizeOfArray("secrets") Do While i < count_i results.I = i appName = results.StringOf("secrets[i].appName") service = results.StringOf("secrets[i].service") domain = results.StringOf("secrets[i].domain") username = results.StringOf("secrets[i].username") targetName = results.StringOf("secrets[i].targetName") keyChainService = results.StringOf("secrets[i].keyChainService") keyChainAccount = results.StringOf("secrets[i].keyChainAccount") i = i + 1 Loop %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.