Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) 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 Chilkat.Rsa ' Generate a 2048-bit key. Chilkat RSA supports Dim success As Boolean = rsa.GenerateKey(2048) If (success <> True) Then Debug.WriteLine(rsa.LastErrorText) Exit Sub End If ' Get the public part of the key. Dim pubKey As Chilkat.PublicKey = 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 True or False. Dim bChoosePkcs1 As Boolean = True Dim pubKeyBase64Der As String = pubKey.GetEncoded(bChoosePkcs1,"base64") Debug.WriteLine("Public Key Base64 DER:") Debug.WriteLine(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 Chilkat.PrivateKey = rsa.ExportPrivateKeyObj() ' Again, we can get PKCS1 or PKCS8, but with different methods: Dim privKeyPkcs1 As String = privKey.GetPkcs1ENC("base64") Debug.WriteLine("Private Key PKCS1 Base64 DER:") Debug.WriteLine(privKeyPkcs1) Dim privKeyPkcs8 As String = privKey.GetPkcs8ENC("base64") Debug.WriteLine("Private Key PKCS8 Base64 DER:") Debug.WriteLine(privKeyPkcs8) |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.