1
PEMでエンコードされた秘密鍵からAsymmetricKeyParameter
を構成するメソッドを作成しようとしていますが、失敗しています。この方法をどうすれば完了できますか?PEMでエンコードされたRSA秘密鍵をAsymmetricKeyParameterに変換する
BouncyCastle
の古いバージョンは、結果がキャストされる可能性がありますが、もはや存在しないpemReader.ReadObject()
メソッドを持っていたようです。
私はPrivateKeyFactory
,PrivateKeyInfo
、Asn1Object
とおそらく10種類のさまざまな組み合わせを試しましたが、すべての点で例外が発生しています。ここで
は、私がテストしていPEMエンコードされたキーです:
-----BEGIN RSA PRIVATE KEY-----
MIIEoAIBAAKCAQEAk0AmagKx285Ufbri/olc+f3WagL1Ho+DrYdDSbuU7cJAq+uD
9xGvvP9m2JavSP4wO9i9pB/cmCFMPoIj3oGJt1/cnLb/U2juneOw6Uo0N3F8TXdy
XfZNAIPhq/jw0YfIypTFTTvFkKXfTArIwW/bQBW8/dujFR8i5CxPjRKRDOBEy0PP
OLJDD0iUr9GX/h/EO4jQ7B/GszjhPiPx+gJCilaMY+jrSczjxpsKOXzpZEdT1NqM
rzgvIZPHYhQzAiw9vQzov3vezDwKgKcRrUixZ2B8uiEQNn7Wa2QzWF3vL+6CGflF
NYQcc0leDQBe86baYhCollouP4jfaH9KcMkYYwIBJQKCAQA7sjkWOHGeTLp4KSuX
n3i4X/z6i5POHoF9s2B31mzPF2ZTiP4l5JNadWELsrXDpVHTEq2/E9X4fDOqo3ZT
SUWrNLNiIKyzHLPDd/uc2OS8h/QfZ8aUy6KtLovrxclps5aXURG3hu86pBxBbCff
t7nACNAT42ugx28CjoEdhBFKaCNcw/S3gZOkcotVdDUTCB+epveXNybAoZcuVNtu
Y84hx+st8i0sXY+vpIJ8HOanbpdS/Q9UqDGNvg1zBlvnJ7PGOO4Jnc0EOa1Eoym2
vJNItDAkK59KPKjuBLWTvTz/XLrZirkY57BQgUKnXHU6YGI7bvu8+iDnNAP1C90U
/MllAoGBANstq/L7WOgcOhfbWEmcd59/vBtDbgf0pNwYyhmpIrG2SD6XaljQvOvo
2/2oqNzCG+xZbTnbdkODRIXMDGcCzVkQAEkNvwWYHxb2XHUOhUPr+4zNfGtnJ1gv
o7w6FVI3tD4buSmhcFZUGpNyzSbS+6FdXD37qjOFCPKcJMCY4BSPAoGBAKv9CdXw
Ksyhr62sWqlU2F9FhjDNS9afJ5A7mZjrPraAusVsOkUtwsij9g74SH5agQNIUnFH
NBwNenW+kbYahX6Q5pjNN5s6weG+2kbK8kZyuYo+Fuix0u6bTnL2IH35zP+hYWQS
YM7yNDdBpH1deTWlTVL7vnZeEK/WTldw8PDtAoGAZLQekjwh7hrOlVbxNpP/nE9y
Gl1AZIUpJtr1ErV+pK2yfZ+D454tScvastDzo7MhlhtABdOJXUomZvzjGpKVs0yK
gm4ZfxxhT71NEzAvZGWBajTmI4JsBexf/Iljvf3rB8eMbRLSv+Fz/o6xSTCBc6dv
khmvEMCVaIzuSqca2QMCgYAue714F2WDafghGdNQXB7NpBZuDfjSONpCqFMGvB7J
ipNX87y4wEJ7apWHgV+zcmgOuZm9wDeY4QxXLJYViqCev2DrBwgcHbfcJb5z/3/A
A1S9lD2K/6DK3d3Z4afqsjdnrxNnJ4/JOoqnJn971BLr53yupOdeQu/A0iMC4EEe
hQKBgBCJteVdDk/0gK5c/++q88VIYplEDeDCiO2nIjXK7kHrm0q3DuUsr3D6VOjL
VUViiU2nBKn40R8tNnxagPkL/uec0kZMGnnFsJLLKd48DGr34nQjsrGare0Pr8yo
3uwlkKwtDUg5Zf2vLIIKqcX6tvHSQ2Zc57dAdAPvhpM5TtDJ
-----END RSA PRIVATE KEY-----
実は、Org.BouncyCastle.OpenSsl.PemReaderはまだ存在しますが、そのReadObject()はまだ私が思うところであなたが必要とするものを行うことができます。おそらく、Org.BouncyCastle.Utilities.IO.Pem.PemReaderを追加すると混乱が生じるでしょうか? –
大きな溜息。ええ、それは混乱でした。本当にありがとう。私は受け入れてupvoteできるように答えとしてあなたのコメントを投稿してもらえますか?私は解決策を使って投稿を編集しました。同じプロジェクトで同じ名前の2つのパブリッククラスを持つことは良いアイデアだと人々が考えていることは私にはわかりません。これらのクラスはOpenSslPemReaderとUtilityPemReaderに名前を変更する必要があります。そのため、名前から何がわかり、資格が与えられているのか、そして使用するディレクティブを読み上げる必要はありません。とにかく、私はこのプロジェクトの成熟度に基づいて変わるのではないかと疑います。 – SFun28
@PeterDettman - これを手伝ってもらえますか?https://stackoverflow.com/questions/44459497/convert-pem-encoded-rsa-public-key-to-asymmetrickeyparameter – SFun28