gpt4 book ai didi

java - 将十六进制编码的 ESCDA 私钥转换为 Java PrivateKey 接口(interface)

转载 作者:行者123 更新时间:2023-12-02 11:37:58 24 4
gpt4 key购买 nike

我正在尝试实现我自己的 HyperLedger-Fabric SDK Java 用户界面。如果您不熟悉 HyperLedger-Fabric,请忘记这一行,它没有必要。

为此,我尝试将此 json(来自 Fabric)转换为私钥:

"enrollment":
{
"signingIdentity":"e90c96e1919de2971913c5a7a3e09ccc13f1a765f64c7949e9ee50a26721ed9b",
"identity":
{
"certificate":
"-----BEGIN CERTIFICATE-----\nMIIB8TCCAZegAwIBAgIUbIsZfWI2ETkBp745jW87ATqS0zAwCgYIKoZIzj0EAwIw\nczELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNh\nbiBGcmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMT\nE2NhLm9yZzEuZXhhbXBsZS5jb20wHhcNMTcxMjEzMTU1MzAwWhcNMTgxMjEzMTU1\nMzAwWjAQMQ4wDAYDVQQDEwV1c2VyMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA\nBJyAKHhZR82HgkdjXJqYUogNSAn4MtrZq62534/9bOQLBBoe3ySFXvecE5/jBKwV\nQwLpsfpow9YbHxrA4WkkJ9CjbDBqMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8E\nAjAAMB0GA1UdDgQWBBT6IGsIp5IEYqYxntl3N8SyOfYYoDArBgNVHSMEJDAigCBC\nOaoNzXba7ri6DNpwGFHRRQTTGq0bLd3brGpXNl5JfDAKBggqhkjOPQQDAgNIADBF\nAiEAh9yjeFMFDbw9Uijz3nJrC2sXc1mpISxalgK6UmkadoACIEXKlU+XqHj9bV/Y\nQpA7aDaWLsOFYCgTSrHNNFsFWBbQ\n-----END CERTIFICATE-----\n"
}
}

私钥位于“signingIdentity”字段中(它只是测试私钥,请随意使用:-))。

据我所知,hyperledger-fabric使用ESCDA,所以它应该是椭圆曲线。

但我不知道如何从这些数据生成正确的 Java PrivateKey 实例...

最佳答案

以下应该可以为您完成工作:

try (PEMParser parser = new PEMParser(new StringReader(/*PUT signingIdentity here*/)) {
pemPair = (PrivateKeyInfo) parser.readObject();
JcaPEMKeyConverter pemConverter = new JcaPEMKeyConverter();
return pemConverter
.setProvider(BouncyCastleProvider.PROVIDER_NAME)
.getPrivateKey(pemPair);
}

当然,您需要 BouncyCaSTLe 库的依赖性:

<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.55</version>
</dependency>

关于java - 将十六进制编码的 ESCDA 私钥转换为 Java PrivateKey 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com