Skip to content

Commit d99bec2

Browse files
committed
Merge bitcoin#655: jni: Use only Guava for hex encoding and decoding
2abcf95 jni: Use only Guava for hex encoding and decoding (Tim Ruffing) Pull request description: This removes a dependency on javax.xml.bind, which is no longer available in JDK >= 11, see https://openjdk.java.net/jeps/320#Java-EE-modules . ACKs for commit 2abcf9: sipa: ACK 2abcf95, tests pass. Tree-SHA512: bae4d1285b4a4a0ad62323c25eabcad5f800ddb2d97f2e15085b39982e29248b21e2e8de0d4c07a33a64f071dcdba653f72415558c0f8b619227bc6f6d71eda3
2 parents fa33017 + 2abcf95 commit d99bec2

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

src/java/org/bitcoin/NativeSecp256k1Test.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.google.common.io.BaseEncoding;
44
import java.util.Arrays;
55
import java.math.BigInteger;
6-
import javax.xml.bind.DatatypeConverter;
76
import static org.bitcoin.NativeSecp256k1Util.*;
87

98
/**
@@ -70,7 +69,7 @@ public static void testPubKeyCreatePos() throws AssertFailException{
7069
byte[] sec = BaseEncoding.base16().lowerCase().decode("67E56582298859DDAE725F972992A07C6C4FB9F62A8FFF58CE3CA926A1063530".toLowerCase());
7170

7271
byte[] resultArr = NativeSecp256k1.computePubkey( sec);
73-
String pubkeyString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
72+
String pubkeyString = BaseEncoding.base16().encode(resultArr);
7473
assertEquals( pubkeyString , "04C591A8FF19AC9C4E4E5793673B83123437E975285E7B442F4EE2654DFFCA5E2D2103ED494718C697AC9AEBCFD19612E224DB46661011863ED2FC54E71861E2A6" , "testPubKeyCreatePos");
7574
}
7675

@@ -81,7 +80,7 @@ public static void testPubKeyCreateNeg() throws AssertFailException{
8180
byte[] sec = BaseEncoding.base16().lowerCase().decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF".toLowerCase());
8281

8382
byte[] resultArr = NativeSecp256k1.computePubkey( sec);
84-
String pubkeyString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
83+
String pubkeyString = BaseEncoding.base16().encode(resultArr);
8584
assertEquals( pubkeyString, "" , "testPubKeyCreateNeg");
8685
}
8786

@@ -94,7 +93,7 @@ public static void testSignPos() throws AssertFailException{
9493
byte[] sec = BaseEncoding.base16().lowerCase().decode("67E56582298859DDAE725F972992A07C6C4FB9F62A8FFF58CE3CA926A1063530".toLowerCase());
9594

9695
byte[] resultArr = NativeSecp256k1.sign(data, sec);
97-
String sigString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
96+
String sigString = BaseEncoding.base16().encode(resultArr);
9897
assertEquals( sigString, "30440220182A108E1448DC8F1FB467D06A0F3BB8EA0533584CB954EF8DA112F1D60E39A202201C66F36DA211C087F3AF88B50EDF4F9BDAA6CF5FD6817E74DCA34DB12390C6E9" , "testSignPos");
9998
}
10099

@@ -106,7 +105,7 @@ public static void testSignNeg() throws AssertFailException{
106105
byte[] sec = BaseEncoding.base16().lowerCase().decode("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF".toLowerCase());
107106

108107
byte[] resultArr = NativeSecp256k1.sign(data, sec);
109-
String sigString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
108+
String sigString = BaseEncoding.base16().encode(resultArr);
110109
assertEquals( sigString, "" , "testSignNeg");
111110
}
112111

@@ -118,7 +117,7 @@ public static void testPrivKeyTweakAdd_1() throws AssertFailException {
118117
byte[] data = BaseEncoding.base16().lowerCase().decode("3982F19BEF1615BCCFBB05E321C10E1D4CBA3DF0E841C2E41EEB6016347653C3".toLowerCase()); //sha256hash of "tweak"
119118

120119
byte[] resultArr = NativeSecp256k1.privKeyTweakAdd( sec , data );
121-
String sigString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
120+
String sigString = BaseEncoding.base16().encode(resultArr);
122121
assertEquals( sigString , "A168571E189E6F9A7E2D657A4B53AE99B909F7E712D1C23CED28093CD57C88F3" , "testPrivKeyAdd_1");
123122
}
124123

@@ -130,7 +129,7 @@ public static void testPrivKeyTweakMul_1() throws AssertFailException {
130129
byte[] data = BaseEncoding.base16().lowerCase().decode("3982F19BEF1615BCCFBB05E321C10E1D4CBA3DF0E841C2E41EEB6016347653C3".toLowerCase()); //sha256hash of "tweak"
131130

132131
byte[] resultArr = NativeSecp256k1.privKeyTweakMul( sec , data );
133-
String sigString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
132+
String sigString = BaseEncoding.base16().encode(resultArr);
134133
assertEquals( sigString , "97F8184235F101550F3C71C927507651BD3F1CDB4A5A33B8986ACF0DEE20FFFC" , "testPrivKeyMul_1");
135134
}
136135

@@ -142,7 +141,7 @@ public static void testPrivKeyTweakAdd_2() throws AssertFailException {
142141
byte[] data = BaseEncoding.base16().lowerCase().decode("3982F19BEF1615BCCFBB05E321C10E1D4CBA3DF0E841C2E41EEB6016347653C3".toLowerCase()); //sha256hash of "tweak"
143142

144143
byte[] resultArr = NativeSecp256k1.pubKeyTweakAdd( pub , data );
145-
String sigString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
144+
String sigString = BaseEncoding.base16().encode(resultArr);
146145
assertEquals( sigString , "0411C6790F4B663CCE607BAAE08C43557EDC1A4D11D88DFCB3D841D0C6A941AF525A268E2A863C148555C48FB5FBA368E88718A46E205FABC3DBA2CCFFAB0796EF" , "testPrivKeyAdd_2");
147146
}
148147

@@ -154,7 +153,7 @@ public static void testPrivKeyTweakMul_2() throws AssertFailException {
154153
byte[] data = BaseEncoding.base16().lowerCase().decode("3982F19BEF1615BCCFBB05E321C10E1D4CBA3DF0E841C2E41EEB6016347653C3".toLowerCase()); //sha256hash of "tweak"
155154

156155
byte[] resultArr = NativeSecp256k1.pubKeyTweakMul( pub , data );
157-
String sigString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
156+
String sigString = BaseEncoding.base16().encode(resultArr);
158157
assertEquals( sigString , "04E0FE6FE55EBCA626B98A807F6CAF654139E14E5E3698F01A9A658E21DC1D2791EC060D4F412A794D5370F672BC94B722640B5F76914151CFCA6E712CA48CC589" , "testPrivKeyMul_2");
159158
}
160159

@@ -173,7 +172,7 @@ public static void testCreateECDHSecret() throws AssertFailException{
173172
byte[] pub = BaseEncoding.base16().lowerCase().decode("040A629506E1B65CD9D2E0BA9C75DF9C4FED0DB16DC9625ED14397F0AFC836FAE595DC53F8B0EFE61E703075BD9B143BAC75EC0E19F82A2208CAEB32BE53414C40".toLowerCase());
174173

175174
byte[] resultArr = NativeSecp256k1.createECDHSecret(sec, pub);
176-
String ecdhString = javax.xml.bind.DatatypeConverter.printHexBinary(resultArr);
175+
String ecdhString = BaseEncoding.base16().encode(resultArr);
177176
assertEquals( ecdhString, "2A2A67007A926E6594AF3EB564FC74005B37A9C8AEF2033C4552051B5C87F043" , "testCreateECDHSecret");
178177
}
179178

0 commit comments

Comments
 (0)