From 91c59dfb6bd1bf22cbe60123033bde1ac872a498 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Tue, 12 Mar 2019 12:37:28 +0000
Subject: [PATCH] Crypto: Fix Ed25519ph conversion

---
 core/java/src/net/i2p/crypto/SigUtil.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/core/java/src/net/i2p/crypto/SigUtil.java b/core/java/src/net/i2p/crypto/SigUtil.java
index 98376e8cba..649f547fa0 100644
--- a/core/java/src/net/i2p/crypto/SigUtil.java
+++ b/core/java/src/net/i2p/crypto/SigUtil.java
@@ -372,7 +372,8 @@ public final class SigUtil {
             EdDSAParameterSpec paramspec = (EdDSAParameterSpec) pk.getType().getParams();
             EdDSAPrivateKeySpec pkspec;
             SigType type = pk.getType();
-            if (type == SigType.EdDSA_SHA512_Ed25519)
+            if (type == SigType.EdDSA_SHA512_Ed25519 ||
+                type == SigType.EdDSA_SHA512_Ed25519ph)
                 pkspec = new EdDSAPrivateKeySpec(pk.getData(), paramspec);
             else if (type == SigType.RedDSA_SHA512_Ed25519)
                 pkspec = new EdDSAPrivateKeySpec(pk.getData(), null, paramspec);
@@ -398,7 +399,8 @@ public final class SigUtil {
     public static SigningPrivateKey fromJavaKey(EdDSAPrivateKey pk, SigType type)
             throws GeneralSecurityException {
         byte[] data;
-        if (type == SigType.EdDSA_SHA512_Ed25519)
+        if (type == SigType.EdDSA_SHA512_Ed25519 ||
+            type == SigType.EdDSA_SHA512_Ed25519ph)
             data = pk.getSeed();
         else if (type == SigType.RedDSA_SHA512_Ed25519)
             data = pk.geta();
-- 
GitLab