将sshkeys转换为c格式,以便在Windows(c)中加密,在Linux(python/shell)中解密

2024-09-26 05:05:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Centos机器上使用ssh-keygen生成了公钥和私钥对。 我需要将公钥转换成c可以理解的格式(XML?)因此,c语言中的windows应用程序可以加密消息,Centos应用程序(python/shell)可以使用相应的私钥解密消息。如何进行这种转换?在

我的示例密钥是:

公钥:

ssh rsa第二、第二批、第二批、第二批、第二批、第二批、第二批、第二批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第二批、第三批、第二批、第三批、第四批、第三批、第四批、第三批、第四批、第三批、第四批、第三批、第四批、第三批、第四批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三批、第三/X2AvO0bIXvbVrIOsE74kseVBx2jsdVQeJuwN9EPbj4B6EyPaCNeok3Ua/vBNnxGFYIgS4QXPLXh8TXOKu+GI9QQ5FL2LHRW82RJMCSV88WCW==本地测试在

私钥

-----BEGIN PRIVATE KEY-----
MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQCerZvR3d9tQxM3
zmrTGEcfaCt3DCaD/z7UR+7asosA3VGKoeei/3CBGkv6XRwrnGlLtnTf5SnzUdMl
bF8ff1ZbXwr67cjqDIwFystoJ0H+ZZ0nVrKjSB1SJLPtM0MLUBHVLQE5ERPShrAX
QGuFxhpvN6BDVymJDh1+JBP2zd+6m9AX9kzl9IsUwrfDzAfG+1mgYYlHcrpprAh1
a/P+Q/RPP1dfOvdZKuPo4CmIAIH9fYC87Rshe9tWsg6wTviSx5UHHaOx1VB4m7A3
0Q9uPgHoTI9oI16iTdRr+8E2fEYVgiBLhBc8teHxNc4q74Yj1BDkWXaUdFaHzauM
wKy/zxZzAgEjAoIBAFYjuvzmKNTp5dx3Xo/Z+rlHLYnExHOKj9JS72DHUsX0fLj4
zjPpwLsc52qnkvMaZQvYE498Zzrx56aZ6n7QGO/F4WOlp5T/fzZYJUcrQRUSlyP7
3VFTCJpOcE2Q20CnzyqUxiZLGWOoM7TZ0/gptpQlguK6Sb9uEAKl3vOxlrXBcZHp
LQ+CUdixgtq9m5Fmq1rcZtX53m7bp/5DH7P5uTuNan37Um0zqZJjgQM91wwKXK63
Cv/DErTSWdGeSMSdDkzal8/MzD1NkUf153E7RVMKkrHELH+vo+b+06cGzA4lrYQq
MfCFaiW6y2NKlFmfBGopyh+T6HAhOdF7cbgChSMCgYEAycRoCg9X5WZEzBAWXr5X
69BDHPua5EFbi4PyWks0oIlGDCNTH2LMdokx/RRv3nfc/j6RKoJ1LzmfOJoG/+Iw
AH9QyeSQ6881wTlGBlRxweZ/GcrglQMrwDQHjVMoO6jmC5umfaFre8rBN5EJhFEF
TKsIxU4LZoqJTyp5n1cq3WUCgYEAyVQ/CseEKdvzjt1l202i7sptePeSSeLWzjgL
bMXXhUrMXqStF7PxyTcR0wHN4XzrvNC56dVb9XGqS5QkZSt2REsRwiYOgKRC1eXG
DerlzcclxbQcyH4G88RUrgB9ahynhDWq0dLAbLiISFxBrS23UE1UjcjfNlciGkwt
wqni8vcCgYBK8S31G6RN5CguiaHorRlXln9T6Gy7Ljfx/c8LmEa/SO4hw/pNfHfU
QZY5bf2qZwjwuCdKTbZ/QUnEkPtJGX+LJ/lvj2kHIRP3T8mNUpCnGxlEGCeHzfpO
tD1Rv80deT+Ap4b7dnhhLg1AhlP98jUrGvShDlwBg+nbk28Aq1kQZwKBgEUG8QsC
k7aUjgUYtTU/MIxiqTDJ6QNjt1ylgEKM+W+HXAMxJWc2YYbRDWzqrPzaX3PvyraS
S2oYV6TiVZ8HlkNM8CVO4Gaet9ROx4++QClLl+wDPRGKS4bG+HYsDb37Mh6zUIJ0
JLePubJoxg99Y2v9QY+ylaw7IaKdxoviebJjAoGAZNYtOpG3b9IIIGRvEyfC2m5b
v1+6QggQ/1AThLdSpBaR/mU+rQ120aUcNc60aLILmoub+DjRwoDHuO9Qnu4krwJI
WOV9mrBEJfcuNT+dDDJ2MGFqBSwitH2CenTWvbyCMfXOB7Bn8PqMlW5M/6AVv/Nf
lytOwERMgIc67pKkC+c=
-----END PRIVATE KEY-----

我可以使用以下方法从私钥中提取PEM格式的公钥:

^{pr2}$

在windows机器中,我只能拥有我的公钥,因此要用C加密消息,我应该使用XML格式的公钥,以便使用rsacryptserviceprovider类加载它。使用其他方法(如X509Certificate2)将需要证书形式的公钥和私钥。既然我只有ssh格式的公钥,那么如何用C进行加密呢?同样的字符串需要在Linux端使用相应的私钥进行解密。在

谢谢!在


Tags: 方法key机器语言应用程序消息windows格式