![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) Azure Key Vault Get CertificatesSee more Azure Key Vault ExamplesDemonstrates how to list the certificates in an Azure Key Vault.Note: This example requires Chilkat v9.5.0.96 or later. For more information, see https://learn.microsoft.com/en-us/rest/api/keyvault/certificates/get-certificates/get-certificates?tabs=HTTP
integer li_rc oleobject loo_Json oleobject loo_Http oleobject loo_SbResponse integer li_Success integer li_StatusCode oleobject loo_JsonResp string ls_Id string ls_X5t integer li_Enabled integer li_Nbf integer li_Exp integer li_Created integer li_Updated string ls_Subject integer i integer li_Count_i // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // We demonstrated how to get an access token for your Azure Key Vault // in this example: Azure Key Vault Get OAuth2 Access Token using Client Credentials // However.. starting in Chilkat v9.5.0.96, instead of directly providing Chilkat with the OAuth2 access token, // you can instead provide the means for Chilkat to automatically get the OAuth2 access token, // and in addition, Chilkat will automatically re-fetch a new OAuth2 access token as needed, such as shortly // prior to or after expiration. // You do this by setting the AuthToken property to a JSON string that contains the required information. loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") if li_rc < 0 then destroy loo_Json MessageBox("Error","Connecting to COM object failed") return end if loo_Json.UpdateString("client_id","APP_ID") // The APP_PASSWORD is the "password" returned by the Azure CLI command: az ad sp create-for-rbac --name http://example.com --role Contributor // See Azure Key Vault Get OAuth2 Access Token using Client Credentials loo_Json.UpdateString("client_secret","APP_PASSWORD") // The access token will be for Azure Key Vault operations. loo_Json.UpdateString("resource","https://vault.azure.net") // Specify the token endpoint which includes your tenant ID. loo_Json.UpdateString("token_endpoint","https://login.microsoftonline.com/TENANT_ID/oauth2/token") loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") // Instead of providing an actual access token, we give Chilkat the information that allows it to // automatically fetch the access token using the OAuth2 client credentials flow. loo_Http.AuthToken = loo_Json.Emit() // Replace key_vault_name with the name of your Azure Key Vault. loo_SbResponse = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_SbResponse.ConnectToNewObject("Chilkat.StringBuilder") li_Success = loo_Http.QuickGetSb("https://key_vault_name.vault.azure.net/certificates?api-version=7.4",loo_SbResponse) if li_Success = 0 then li_StatusCode = loo_Http.LastStatus if li_StatusCode = 0 then // We did not get a response from the server.. Write-Debug loo_Http.LastErrorText else // We received a response, but it was an error. Write-Debug "Error response status code: " + string(li_StatusCode) Write-Debug "Error response:" Write-Debug loo_SbResponse.GetAsString() end if destroy loo_Json destroy loo_Http destroy loo_SbResponse return end if loo_JsonResp = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_JsonResp.ConnectToNewObject("Chilkat.JsonObject") loo_JsonResp.LoadSb(loo_SbResponse) loo_JsonResp.EmitCompact = 0 Write-Debug loo_JsonResp.Emit() // The output looks like this: // { // "value": [ // { // "id": "https://kvchilkat.vault.azure.net/certificates/BadSSL", // "x5t": "U04xLnb8Ww7BKkW9dD7P1cCHNDY", // "attributes": { // "enabled": true, // "nbf": 1674409014, // "exp": 1737481014, // "created": 1697294224, // "updated": 1697294224 // }, // "subject": "" // }, // { // "id": "https://kvchilkat.vault.azure.net/certificates/Brasil", // "x5t": "ayF5eBtlA35xPMivusE0wpmFjnA", // "attributes": { // "enabled": true, // "nbf": 1667830002, // "exp": 1699366002, // "created": 1697294090, // "updated": 1697294090 // }, // "subject": "" // } // ], // "nextLink": null // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON i = 0 li_Count_i = loo_JsonResp.SizeOfArray("value") do while i < li_Count_i loo_JsonResp.I = i ls_Id = loo_JsonResp.StringOf("value[i].id") ls_X5t = loo_JsonResp.StringOf("value[i].x5t") li_Enabled = loo_JsonResp.BoolOf("value[i].attributes.enabled") li_Nbf = loo_JsonResp.IntOf("value[i].attributes.nbf") li_Exp = loo_JsonResp.IntOf("value[i].attributes.exp") li_Created = loo_JsonResp.IntOf("value[i].attributes.created") li_Updated = loo_JsonResp.IntOf("value[i].attributes.updated") ls_Subject = loo_JsonResp.StringOf("value[i].subject") i = i + 1 loop destroy loo_Json destroy loo_Http destroy loo_SbResponse destroy loo_JsonResp |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.