0

Is there a way to serialize EdDSAPublicKey in java.

There a method getEncoded() in EdDSAPublicKey but how to get back a EdDSAPublicKey from the encoding.

Artjom B.
  • 61,146
  • 24
  • 125
  • 222
Subhankar
  • 692
  • 7
  • 25
  • With the [`KeyFactory`](https://docs.oracle.com/javase/8/docs/api/java/security/KeyFactory.html) and `KeySpec`. – user207421 Aug 03 '17 at 11:03

1 Answers1

1

Using the X509EncodedKeySpec

    X509EncodedKeySpec specPub = new X509EncodedKeySpec(encodedPublicKey);
    EdDSAPublicKey eddsakey = new EdDSAPublicKey(specPub);
Jens
  • 67,715
  • 15
  • 98
  • 113
  • The above method worked very well for `EdDSAPublicKey`. But `X509EncodedKeySpec` doesn't help in decodeing `EdDSAPrivateKey`. Is there a way to decode `EdDSAPivateKey` – Subhankar Sep 04 '17 at 06:51
  • 1
    @Subhankar For private key you have to use the `PKCS8EncodedKeySpec`: `PKCS8EncodedKeySpec specPub = new PKCS8EncodedKeySpec(encodedPrivateKey); EdDSAPrivateKey eddsakey = new EdDSAPrivateKey(specPub);` – Jens Sep 04 '17 at 06:56