0
我想用openssl私鑰解密一條消息。當我使用私鑰按以下格式在OpenSSL中讀取沒有封裝標頭的Base64私鑰
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQDDEOX/tFJZrgR0dtTN2/jgPAJjWKE68aw8ayYaGn9fo1sJAE3C
uH6Ym3hu775Enfd5DhtJ38g8RCFLzGVP/LW6n4+LsKS5HRZTGcDkpME0sVoLHLZd
w8z4xZe5h+lT0jwkap5BNyHJCSddipxzjQIEtW+w8V6BkKkFw6UYN1Xn5QIDAQAB
AoGAUeS0Ssfvksrl/+crrElfkPRgpEi/V7nCb5Mkae0Z8JLqUzsXalp+e585zolE
PhZ7oQz1E+ypafPIbsQe/JfByx3itUk7J8+bZO4TpE8n5Afz8EdZLIqJU11MoafH
mWYYWsoMdymgxasuu0ygyeswP42/aw1M+qQgoWBSoPtgLrkCQQDsygWQRI868JKJ
OXzeKV6HTKjGXg37Zm050UaPk2a8inGk6F5RqH1+IZ4istrlcJTpJTuQCsVHJ+SQ
nLveL09vAkEA0uRPeSdXbi92AR/5fj2Xh2APerYjRgK11nh4QEiqbmKyNdW7r9zb
tIQiL9f4AXvcwIVnSWVgiTCwWOa9w8lT6wJBAOMlWPjwC8YqiSeCMjqbzMZVz4Gb
MCZ+N0FDdEC+0csDs8jR78i9rMSWUzBOCpYWzYJp6R1gd6auqh/feojFMZkCQQCO
Gkly2Y+QL2rUVzdGWTpBffjwNsqN4kWkvohIyK4Os3Jh1CMj3S4t9NsUYfI7Dbsx
/rIaQrVJvAUX4mL8Ci0BAkEAuAZBSTmd7MQybVlWCP1AVvlMyW1CV/Mts4tLsGO5
NRMuXY0CrQaO69MW4nuHCSmshBcNB7ahGxYYYMaHmem3QQ
-----END RSA PRIVATE KEY-----
當我嘗試用無encapsullation頭(-----BEGIN RSA PRIVATE KEY-----
和-----END RSA PRIVATE KEY-----
)它是失敗的相同的密鑰我的執行工作正常。
這些標題對於密鑰是必需的嗎?
如果我想使用沒有標題的密鑰,我應該使用哪個API的OpenSSL?
沒有其他API同樣易於使用。爲什麼這是一個問題?應該很容易添加或刪除頁眉和頁腳。 –
這不是一個問題。我的客戶將把關鍵字作爲輸入而不包含頭文件。因此我正在尋找使用任何API構建RSA結構。我能夠做strcat()來包含頁眉和頁腳。但是這看起來有些硬編碼,這是檢查替代者的原因 –
請參閱[如何使用openssl生成RSA私鑰?](http://stackoverflow.com/a/30493975/608639)它提供了有關不同編碼格式。它的缺點是,如果它的PEM編碼,那麼它需要封裝頭。如果你不需要頭文件,那麼使用ASN.1/DER。你處於一個不太常見的中間地帶 - 你需要Base64編碼的ASN.1/BER。通常你只是使用PEM。但是可以放棄標題,Base64解碼,然後使用'd2i_RSAPrivateKey_bio'來讀取它。 – jww