科尔达 - 解码 Base58 公钥不起作用



将 Base58 公钥解码回PublicKey实例似乎不起作用:

parsePublicKeyBase58("DLG9nscvKPbgagoLP7jr4oc5FygazKr7pdADZMGFizmpV8")

线程"main"中的异常 java.lang.IllegalArgumentException: 无法从 byte[] 构造序列:遇到未知标记 9 at org.bouncycastle.asn1.ASN1Sequence.getInstance(Unknown Source( at org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance(未知来源( at net.corda.core.crypto.Crypto.decodePublicKey(Crypto.kt:343( at net.corda.core.utilities.EncodingUtils.parsePublicKeyBase58(EncodingUtils.kt:81( 在测试中。Program$Companion.main(Program.kt:15( 在测试中。Program.main(Program.kt(

这是怎么回事?

你有什么错误——斯内哈·达姆勒?

parsePublicKeyBase58("G9nscvKPbgagoLP7jr4oc5FygazKr7pdADZMGFizmpV8")

线程"main"中的异常 java.lang.IllegalArgumentException: 无法从 byte[] 构造序列:DEF 长度 31 对象被 1 截断 at org.bouncycastle.asn1.ASN1Sequence.getInstance(Unknown Source( at org.bouncycastle.asn1.x509.SubjectPublicKeyInfo.getInstance(未知来源( at net.corda.core.crypto.Crypto.decodePublicKey(Crypto.kt:343( at net.corda.core.utilities.EncodingUtils.parsePublicKeyBase58(EncodingUtils.kt:81( 在测试中。ProgramKt.main(Program.kt:6(

您可能使用了不正确的 Base58 字符串。我做了以下操作,它奏效了。

将公钥编码为 base58

Base58.encode(party.getOwningKey().getEncoded()).toString();

这给了我字符串GfHq2tTVk9z4eXgyH7WThpV3Qn7zdCm4cKw8J5x8kVGnVkGtgAmh3KKE7EN4

解码它:

PublicKey publicKey = EncodingUtils.parsePublicKeyBase58("GfHq2tTVk9z4eXgyH7WThpV3Qn7zdCm4cKw8J5x8kVGnVkGtgAmh3KKE7EN4");

相关内容

  • 没有找到相关文章

最新更新