从ByteArray创建Asn1Object时出错对象后找到额外的数据

问题描述

使用弹性城堡创建Asn1对象时遇到了一些麻烦。我已经生成一个未使用的密钥,试图说明我在做什么。

-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----

我的程序段可以访问BEGIN和END之间的位(基本上,该段上方没有第一行和最后一行)。

我的代码段看起来像这样(从在线教程中复制),输入的privateKey是多行字符串(上面的代码段没有第一行和最后一行,包括/ r / n,但我尝试删除换行符)。

byte[] keyBytes = Convert.FromBase64String(privateKey);
var privKeyObj = Asn1Object.FromByteArray(keyBytes);
var privStruct = RsaPrivateKeyStructure.GetInstance((Asn1Sequence)privKeyObj);

我得到[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.IOException: extra data found after object。我的输入是否需要进一步清理?我希望能够创建用于签名JWT的私钥。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)