[英]Convert hex encoded ESCDA private key to Java PrivateKey interface
I'm trying to implement my own Java User interface of HyperLedger-Fabric SDK. 我正在尝试实现自己的HyperLedger-Fabric SDK的Java用户界面。 If you don't familiar with HyperLedger-Fabric, forget this line, it's not necessary.
如果您不熟悉HyperLedger-Fabric,则请忽略此行,这是没有必要的。
To do so, I'm trying to convert this json(from fabric) to private key: 为此,我正在尝试将此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"
}
}
The private key is in the field "signingIdentity" (it's only testing private key, use it as you wish :-) ). 私钥位于“ signingIdentity”字段中(它只是测试私钥,请根据需要使用它:-))。
I from what I heard, hyperledger-fabric use ESCDA, so it should be eliptic curve. 从我所听到的信息来看,超级分类帐结构使用ESCDA,因此应该是椭圆曲线。
But I don't know how to generate from this data, the proper Java PrivateKey instance... 但是我不知道如何从这些数据中生成正确的Java PrivateKey实例...
Following should do the work for you: 以下应该为您做的工作:
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);
}
And of course you need the depedency of BouncyCastle lib: 当然,您需要BouncyCastle lib的支持:
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.55</version>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.