RSACryptoServiceProvider 导出 Public 和私钥对 (powershell)
RSACryptoServiceProvider export Public and Private key pairs (powershell)
我需要编写一个脚本,在 客户端 上加密文本,然后将加密文本发送到我的 后端 。我需要在 base64 编码。
我发现获得所需内容的唯一方法是创建一个 RSACryptoServiceProvider 并使用 ExportParameters(true) 获取其私有参数
$cryptoService = New-Object System.Security.Cryptography.RSACryptoServiceProvider(1024);
$params = $cryptoService.ExportParameters(1);
Write-Output $params;
Output:
Exponent : {1, 0, 1}
Modulus : {235, 109, 139, 92...}
P : {236, 204, 53, 183...}
Q : {254, 132, 230, 6...}
DP : {48, 134, 112, 131...}
DQ : {183, 178, 169, 230...}
InverseQ : {199, 175, 213, 220...}
D : {227, 52, 133, 26...}
我应该如何组合它们以获得 Private 和 Public 密钥对?
在此先感谢您!
您可以做的是生成一个新的随机 RSACryptoServiceProvider 对象。它将创建您需要的密钥。
之后你可以调用 ExportCspBlob(false) 来获取 public 密钥和 ExportCspBlob(true)得到两把钥匙。
最后,在后端,您需要 ImportCspBlob 使用先前 ExportCspBlob(true) 调用的结果,而在客户端,您需要ImportCspBlob 与 ExportCspBlob(false) 结果
我需要编写一个脚本,在 客户端 上加密文本,然后将加密文本发送到我的 后端 。我需要在 base64 编码。
我发现获得所需内容的唯一方法是创建一个 RSACryptoServiceProvider 并使用 ExportParameters(true) 获取其私有参数
$cryptoService = New-Object System.Security.Cryptography.RSACryptoServiceProvider(1024);
$params = $cryptoService.ExportParameters(1);
Write-Output $params;
Output:
Exponent : {1, 0, 1}
Modulus : {235, 109, 139, 92...}
P : {236, 204, 53, 183...}
Q : {254, 132, 230, 6...}
DP : {48, 134, 112, 131...}
DQ : {183, 178, 169, 230...}
InverseQ : {199, 175, 213, 220...}
D : {227, 52, 133, 26...}
我应该如何组合它们以获得 Private 和 Public 密钥对?
在此先感谢您!
您可以做的是生成一个新的随机 RSACryptoServiceProvider 对象。它将创建您需要的密钥。
之后你可以调用 ExportCspBlob(false) 来获取 public 密钥和 ExportCspBlob(true)得到两把钥匙。
最后,在后端,您需要 ImportCspBlob 使用先前 ExportCspBlob(true) 调用的结果,而在客户端,您需要ImportCspBlob 与 ExportCspBlob(false) 结果