|  | 
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
| (Classic ASP) Easy Method to Import Certificate to Azure Key VaultDemonstrates an easier method to import certificate with private key to an Azure key vault. Note: This example requires Chilkat v9.5.0.96 or later. 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Cert") set cert = Server.CreateObject("Chilkat.Cert") ' The certificate must originate from a source where the private key material is available to be included ' in the upload to Azure Key Vault. success = cert.LoadPfxFile("qa_data/pfx/myCert.pfx","pfx_password") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( cert.LastErrorText) & "</pre>" Response.End End If ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = Server.CreateObject("Chilkat.JsonObject") ' Indicate this request is to upload to Azure Key Vault. success = json.UpdateString("service","azure-keyvault") ' Provide your OAuth2 client credentials for your Azure App (service principal) that has ' the required Role-Based Access Control (RBAC) permissions. success = json.UpdateString("auth.client_id","APP_ID") success = json.UpdateString("auth.client_secret","APP_PASSWORD") success = json.UpdateString("auth.tenant_id","TENANT_ID") ' Indicate the key vault name success = json.UpdateString("vault_name","VAULT_NAME") ' When you import a certificate into an Azure Key Vault, the certificate name and vault name are included as ' parts of the URL to specify the target location where the certificate should be stored. ' The URL follows a specific format to identify the target Key Vault and the certificate within it. ' Here's how the certificate name and vault name are incorporated into the URL: ' https://VAULT_NAME.vault.azure.net//certificates/CERT_NAME/import?api-version=7.4 ' Specify an arbitrary certificate name, but one that can be used in a URL as shown above. (i.e. alphanumeric with no SPACE chars) success = json.UpdateString("cert_name","CERT_NAME") ' Add optional tags if desired. Tags can be anything you want. success = json.UpdateString("tags.serial",cert.SerialNumber) success = json.UpdateString("tags.issuer",cert.IssuerCN) success = json.UpdateString("tags.subject",cert.SubjectCN) ' OK.. everything is specified. Simply call UploadToCloud. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set jsonOut = Server.CreateObject("Chilkat.JsonObject") jsonOut.EmitCompact = 0 success = cert.UploadToCloud(json,jsonOut) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( cert.LastErrorText) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( jsonOut.Emit()) & "</pre>" Response.End End If ' Success! Go to the Azure portal and refresh to see the certificate has been uploaded. ' The jsonOut provides the JSON response from the Azure server. Response.Write "<pre>" & Server.HTMLEncode( jsonOut.Emit()) & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( "Success") & "</pre>" ' Here is sample jsonOut ' { ' "id": "https://kvchilkat.vault.azure.net/certificates/ChilkatTestCert123/b6e997db70144435a49d924be9f260ef", ' "kid": "https://kvchilkat.vault.azure.net/keys/ChilkatTestCert123/b6e997db70144435a49d924be9f260ef", ' "sid": "https://kvchilkat.vault.azure.net/secrets/ChilkatTestCert123/b6e997db70144435a49d924be9f260ef", ' "x5t": "I_e3776K5Q_6PN1HHvJoI2ZGQRQ", ' "cer": "MIIGXjCCBMagAw ... z50cjTsi7yIY=", ' "attributes": { ' "enabled": true, ' "nbf": 1633996800, ' "exp": 1728691199, ' "created": 1697754785, ' "updated": 1697754785, ' "recoveryLevel": "CustomizedRecoverable+Purgeable", ' "recoverableDays": 7 ' }, ' "tags": { ' "serial": "3FF5B69109BFD4046C92CC0D18EE23C2", ' "issuer": "Sectigo Public Code Signing CA R36", ' "subject": "Chilkat Software, Inc." ' }, ' "policy": { ' "id": "https://kvchilkat.vault.azure.net/certificates/ChilkatTestCert123/policy", ' "key_props": { ' "exportable": true, ' "kty": "RSA", ' "key_size": 4096, ' "reuse_key": false ' }, ' "secret_props": { ' "contentType": "application/x-pkcs12" ' }, ' "x509_props": { ' "subject": "CN=\"Chilkat Software, Inc.\", O=\"Chilkat Software, Inc.\", S=Illinois, C=US", ' "ekus": [ ' "1.3.6.1.5.5.7.3.3" ' ], ' "key_usage": [ ' "digitalSignature" ' ], ' "validity_months": 37, ' "basic_constraints": { ' "ca": false ' } ' }, ' "lifetime_actions": [ ' { ' "trigger": { ' "lifetime_percentage": 80 ' }, ' "action": { ' "action_type": "EmailContacts" ' } ' } ' ], ' "issuer": { ' "name": "Unknown" ' }, ' "attributes": { ' "enabled": true, ' "created": 1697754785, ' "updated": 1697754785 ' } ' } ' } %> </body> </html> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.