Crypto: Fix Ed25519ph conversion

This commit is contained in:
zzz
2019-03-12 12:37:28 +00:00
parent 9d17066175
commit 91c59dfb6b

View File

@ -372,7 +372,8 @@ public final class SigUtil {
EdDSAParameterSpec paramspec = (EdDSAParameterSpec) pk.getType().getParams(); EdDSAParameterSpec paramspec = (EdDSAParameterSpec) pk.getType().getParams();
EdDSAPrivateKeySpec pkspec; EdDSAPrivateKeySpec pkspec;
SigType type = pk.getType(); 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); pkspec = new EdDSAPrivateKeySpec(pk.getData(), paramspec);
else if (type == SigType.RedDSA_SHA512_Ed25519) else if (type == SigType.RedDSA_SHA512_Ed25519)
pkspec = new EdDSAPrivateKeySpec(pk.getData(), null, paramspec); pkspec = new EdDSAPrivateKeySpec(pk.getData(), null, paramspec);
@ -398,7 +399,8 @@ public final class SigUtil {
public static SigningPrivateKey fromJavaKey(EdDSAPrivateKey pk, SigType type) public static SigningPrivateKey fromJavaKey(EdDSAPrivateKey pk, SigType type)
throws GeneralSecurityException { throws GeneralSecurityException {
byte[] data; byte[] data;
if (type == SigType.EdDSA_SHA512_Ed25519) if (type == SigType.EdDSA_SHA512_Ed25519 ||
type == SigType.EdDSA_SHA512_Ed25519ph)
data = pk.getSeed(); data = pk.getSeed();
else if (type == SigType.RedDSA_SHA512_Ed25519) else if (type == SigType.RedDSA_SHA512_Ed25519)
data = pk.geta(); data = pk.geta();