在linux上生成RSA公钥,转换为base64,并导入到VB.NET
我想将字符串硬编码到VB.NET程序中,该程序包含我在linux计算机上生成的RSA公钥的base64字符串表示形式 在linux机箱上:在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
- 我使用ssh-keygen生成密钥对
- 我使用PHP使用base64_encode()将.ssh/id_rsa.pub转换为base64
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;