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
(VB.NET) 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/
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim secrets As New 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. Dim json As New Chilkat.JsonObject Dim results As New Chilkat.JsonObject results.EmitCompact = False Dim success As Boolean = secrets.ListSecrets(json,results) If (success = False) Then Debug.WriteLine(secrets.LastErrorText) Exit Sub End If Debug.WriteLine(results.Emit()) ' 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. Dim appName As String Dim service As String Dim domain As String Dim username As String Dim targetName As String Dim keyChainService As String Dim keyChainAccount As String Dim i As Integer = 0 Dim count_i As Integer = results.SizeOfArray("secrets") 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 End While |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.