如果您嘗試讀取 PKCS#1 RSA 公鑰,您會遇到問題,因為 openssl 需要 X.509 格式的公鑰。
PKCS#1 RSA 公鑰
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAgYxTW5Yj+5QiQtlPMnS9kqQ/HVp+T2KtmvShe68cm8luR7Dampmb
[...]
cbn6n2FsV91BlEnrAKq65PGJxcwcH5+aJwIDAQAB
-----END RSA PUBLIC KEY-----
.. 無法讀取,而 X.509 格式的公鑰
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgYxTW5Yj+5QiQtlPMnS9
[..]
JwIDAQAB
-----END PUBLIC KEY-----
可以讀取。您可以使用一個簡單(且不太正規)的變通方法來讀取 PKCS#1 RSA。X.509 格式公鑰的前幾個位元組包含標頭資訊,可以毫無顧忌地複製。
換句話說:刪除上述 X.509 金鑰中前 32 個位元組之後的所有內容(從 Q8A 後面開始),並附加您的 PKCS#1 資料,重新格式化為 64 個位元組的長度,然後將其與 openssl 一起使用。
請注意:上述範例僅適用於 2048 位元長度。
就像我說的 - 這有點不太正規 - 但是,如果您像我一樣走投無路的話。
Michaela