我有一个包含DER编码密钥的文件'text.der'。我想读取它并从Bouncycastle C#库(here are the javadocs for the Java version)转换为AsymmetricCipherKeyPair的实例。
例如对于pem文件,我们在bouncycastle中有PemReader / Writer,我们可以做到。 如何从文件中的编码密钥转到AsymmetricCipherKeyPair
答案 0 :(得分:1)
假设它是通常的二进制格式DER公钥文件,使用SubjectPublicKeyInfo结构的二进制DER编码(我认为OpenSSL使用它作为其DER输出格式),你可以这样做:
byte[] derKeyBytes = File.ReadAllBytes("text.der"); // read in the binary file
// Decode the public key component
AsymmetricKeyParameter publicKey =
PublicKeyFactory.CreateKey(derKeyBytes);
你最好只使用AsymmetricKeyParameter(它是密钥的公共部分),但是如果你绝对想要它在AsymmetricCipherKeyPair中,你可以这样做:
// Put the public key into a keyPair, leave the Private key uninitialized.
AsymmetricCipherKeyPair keyPair =
new AsymmetricCipherKeyPair(
publicKey,
new AsymmetricKeyParameter(true));