1 package io.bytom.api;
\r
3 import io.bytom.common.Signer;
\r
4 import org.bouncycastle.util.encoders.Hex;
\r
5 import org.junit.Test;
\r
7 import java.security.InvalidKeyException;
\r
8 import java.security.NoSuchAlgorithmException;
\r
9 import java.security.SignatureException;
\r
11 public class SignerTest {
\r
14 public void testEd25519InnerSign() throws NoSuchAlgorithmException, SignatureException, InvalidKeyException {
\r
15 String rootXprv = "10fdbc41a4d3b8e5a0f50dd3905c1660e7476d4db3dbd9454fa4347500a633531c487e8174ffc0cfa76c3be6833111a9b8cd94446e37a76ee18bb21a7d6ea66b";
\r
16 String childXprv = "e8c0965af60563c4cabcf2e947b1cd955c4f501eb946ffc8c3447e5ec8a6335398a3720b3f96077fa187fdde48fe7dc293984b196f5e292ef8ed78fdbd8ed954";
\r
17 String expandedXprv = "20849f14bbe212d1b8917da2e1eda9afc4c21e9dd0a47f1e169a3326d45ae443236f54b987369e86ed78eb2b0a2def89a69ec69ca1059e2efe045796dc583d91";
\r
18 String hashedMessage = "99ab9ebdba106466371467b036d56a0e54ad2a6035e365a6103ba97ab553fd52";
\r
19 byte[] sig = Signer.ed25519InnerSign(Hex.decode(expandedXprv), Hex.decode(hashedMessage));
\r
20 System.out.println("sig:" + Hex.toHexString(sig));
\r
21 //expected: e628e980c690d9ef4ca8a2edee1654a6b401edc4f1af7bda3ffd97fe412522c3bab671dd4e51d0aeeb64f8d761fbdb03e296ab0c1dcbed4eafa504f412a98100
\r