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
(Visual Basic 6.0) Generate an RSA Key and Get as Base64 DERDemonstrates how to generate a 2048-bit RSA key and return the public and private parts as unencrypted Base64 encoded DER.
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim rsa As New ChilkatRsa ' Generate a 2048-bit key. Chilkat RSA supports Dim success As Long success = rsa.GenerateKey(2048) If (success <> 1) Then Debug.Print rsa.LastErrorText Exit Sub End If ' Get the public part of the key. Dim pubKey As PublicKey Set pubKey = rsa.ExportPublicKeyObj() ' There are two possible formats for representing the RSA public key ' in ASN.1 (DER). The possible formats are PKCS1 and PKCS8. ' We can get either by setting bChoosePkcs1 to 1 or 0. Dim bChoosePkcs1 As Long bChoosePkcs1 = 1 Dim pubKeyBase64Der As String pubKeyBase64Der = pubKey.GetEncoded(bChoosePkcs1,"base64") Debug.Print "Public Key Base64 DER:" Debug.Print pubKeyBase64Der ' Now get the private key as Base64 DER: ' Get the private part of the key. ' (Note: A public key is actually just a subset of the private key. ' If you have the private key, you also have the public key. ' Thus Chilkat provides a method to get the public key from the private key.) Dim privKey As PrivateKey Set privKey = rsa.ExportPrivateKeyObj() ' Again, we can get PKCS1 or PKCS8, but with different methods: Dim privKeyPkcs1 As String privKeyPkcs1 = privKey.GetPkcs1ENC("base64") Debug.Print "Private Key PKCS1 Base64 DER:" Debug.Print privKeyPkcs1 Dim privKeyPkcs8 As String privKeyPkcs8 = privKey.GetPkcs8ENC("base64") Debug.Print "Private Key PKCS8 Base64 DER:" Debug.Print privKeyPkcs8 |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.