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
(C# 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. Chilkat.Rsa rsa = new Chilkat.Rsa(); // Generate a 2048-bit key. Chilkat RSA supports bool success = rsa.GenerateKey(2048); if (success != true) { Debug.WriteLine(rsa.LastErrorText); return; } // Get the public part of the key. Chilkat.PublicKey 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 true or false. bool bChoosePkcs1 = true; string pubKeyBase64Der = 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.) Chilkat.PrivateKey privKey = rsa.ExportPrivateKeyObj(); // Again, we can get PKCS1 or PKCS8, but with different methods: string privKeyPkcs1 = privKey.GetPkcs1ENC("base64"); Debug.WriteLine("Private Key PKCS1 Base64 DER:"); Debug.WriteLine(privKeyPkcs1); string privKeyPkcs8 = privKey.GetPkcs8ENC("base64"); Debug.WriteLine("Private Key PKCS8 Base64 DER:"); Debug.WriteLine(privKeyPkcs8); |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.