在linux上生成RSA公钥,转换为base64,并导入到VB.NET

在linux上生成RSA公钥,转换为base64,并导入到VB.NET,vb.net,rsa,Vb.net,Rsa,我想将字符串硬编码到VB.NET程序中,该程序包含我在linux计算机上生成的RSA公钥的base64字符串表示形式 在linux机箱上: 我使用ssh-keygen生成密钥对 我使用PHP使用base64_encode()将.ssh/id_rsa.pub转换为base64 在VB代码中,我将上面生成的输出硬编码为字符串变量: Dim publicKey As String = "QUFBQUIzTnphQzF5YzJFQUFBQUJJd0FBQVFFQTRrNHNPOFhyajhJUkM4

我想将字符串硬编码到VB.NET程序中,该程序包含我在linux计算机上生成的RSA公钥的base64字符串表示形式

在linux机箱上:

  • 我使用ssh-keygen生成密钥对
  • 我使用PHP使用base64_encode()将.ssh/id_rsa.pub转换为base64
在VB代码中,我将上面生成的输出硬编码为字符串变量:

Dim publicKey As String = "QUFBQUIzTnphQzF5YzJFQUFBQUJJd0FBQVFFQTRrNHNPOFhyajhJUkM4WGhEMVJQYlhJbUROTnVwdEpvUEtYNzNhcHc1M0NFUGE3VVNRY0U2SXhyNENWM2FhVXBtR1Fsb1I4akNLVkNoUnhzOUVnT3JQcVNGMTFjL3ZPNzluMXdkU1VWZjhreC9uY1NiV25UUXBtb1paNlN5ZUM3ekhMbWh1Z0o5OWdsVjB3bXBhTXpPeitHa0JBeFBPYlV0MzFYalMxMlBzM0ZUZFBla2s5T0ptMFJxc1plM3krbHU2UURZbDEyejJyTU9lbFhJS2IxSUZ1SnF6SThqL2Y4Q3V2dGxCSmxhelRBWlkyekF1WTZWMXU4c2JnUmE2MTBxMzM3dUdMODErbytCUkRzS0dwN0xBRmRwM1R2ekE3MDZPeFVSSEF0YmRZOVkzaXFISFFzQ3ZQWXBqcVQ0MHVlZ1RHY05jd2JCdjZxa2xlckk2K25Ndz09"

Dim myRsa As New RSACryptoServiceProvider()
myRsa.ImportCspBlob(Convert.FromBase64String(publicKey))
我得到一个关于“提供程序的错误版本”的运行时异常,下面是我如何转换它(使用):

setPublicKey();
$publickey=$rsa->getPublicKey(CRYPT\u rsa\u PUBLIC\u FORMAT\u XML);
echo$公钥;

为什么您希望OpenSSH的专有RSA密钥格式与Microsoft的专有密钥格式相同?另外,id_RSA.pub中的RSA密钥已经是base64编码的,为什么还要重复?
<?php
include('Crypt/RSA.php');

$rsa = new Crypt_RSA();

$rsa->loadKey(base64_decode('QUFBQUIzTnphQzF5YzJFQUFBQUJJd0FBQVFFQTRrNHNPOFhyajhJUkM4WGhEMVJQYlhJbUROTnVwdEpvUEtYNzNhcHc1M0NFUGE3VVNRY0U2SXhyNENWM2FhVXBtR1Fsb1I4akNLVkNoUnhzOUVnT3JQcVNGMTFjL3ZPNzluMXdkU1VWZjhreC9uY1NiV25UUXBtb1paNlN5ZUM3ekhMbWh1Z0o5OWdsVjB3bXBhTXpPeitHa0JBeFBPYlV0MzFYalMxMlBzM0ZUZFBla2s5T0ptMFJxc1plM3krbHU2UURZbDEyejJyTU9lbFhJS2IxSUZ1SnF6SThqL2Y4Q3V2dGxCSmxhelRBWlkyekF1WTZWMXU4c2JnUmE2MTBxMzM3dUdMODErbytCUkRzS0dwN0xBRmRwM1R2ekE3MDZPeFVSSEF0YmRZOVkzaXFISFFzQ3ZQWXBqcVQ0MHVlZ1RHY05jd2JCdjZxa2xlckk2K25Ndz09'));
$rsa->setPublicKey();

$publickey = $rsa->getPublicKey(CRYPT_RSA_PUBLIC_FORMAT_XML);

echo $publickey;