File tree Expand file tree Collapse file tree 5 files changed +12
-6
lines changed
digital-signatures-cli/src
main/java/com/transferwise/digitalsignatures/cli
test/java/com/transferwise/digitalsignatures/cli
main/java/com/transferwise/digitalsignatures
test/java/com/transferwise/digitalsignatures Expand file tree Collapse file tree 5 files changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ String signatureBase64 = DigitalSignatires.encodeToBase64(byte[] bytes);
40
40
To allow users to sign their data via CLI there is an executable JAR:
41
41
` ` ` bash
42
42
usage: java -jar digital-signatures-cli-< version> -all.jar -d < DATA> -k < PATH>
43
- Calculates SHA1 with RSA signature in Base64 encoding for provided data
43
+ Calculates SHA256 with RSA signature in Base64 encoding for provided data
44
44
-d,--data-to-sign < DATA> String containing data to sign
45
45
-k,--private-key-file < PATH> Path to file containing RSA private key
46
46
` ` `
Original file line number Diff line number Diff line change 15
15
class Main {
16
16
17
17
private static final String CLI_UTILITY_NAME = "java -jar digital-signatures-cli-<version>-all.jar" ;
18
- private static final String CLI_HELP_HEADER = "Calculates SHA1 with RSA signature in Base64 encoding (RFC 4648) for provided data" ;
18
+ private static final String CLI_HELP_HEADER = "Calculates SHA256 with RSA signature in Base64 encoding (RFC 4648) for provided data" ;
19
19
20
20
public static void main (String [] args ) {
21
21
Option privateKeyFilePathOption = Option .builder ("k" )
Original file line number Diff line number Diff line change 19
19
public class MainTest {
20
20
21
21
private static final String DATA_TO_SIGN = "65a31b86-aa2e-47fd-a7a4-3710437ba270" ;
22
- private static final String SIGNATURE = "oMbriRqpykbUnoL2sIX5xCO/yhrpZFd4TDu2lWdbcHkfxoYHQIvjdm/Px9SBgO5Lc58qjPkmeJA4z8B8spOVaxLRienkzvqrT0I11OFH7jJkoMu2g8bxPe7hmnRDdTB8cLZyFYGmlYjsr3vxemTUWSYYXdrys5Dh3LuOzWZmuYQ3bOwsBPm2sl7K39QM2KqXWckyqg9xpguWIGWzO86aKc/OboWqompVYKztLtdzMwAT5WQ5tPH+AA/lpiV3VG8J9TKTYpUzcrsRjUIelY+jznOkrFtqyyQsZ6l/G7yFXYTaA55ARc+k7CJExiw4mFX8wgPUHrGt289170HS+UJZDw==" ;
22
+ private static final String SIGNATURE = "1JnHvXd24R99jZFl5KzJer1iMFGIdrGRmu09h7QkGzo5kgk3cLHdDesitNjK131lmpgAEwnI" +
23
+ "99jtyfJfiMjFZV4VqSAmr68W12r3Jc4ACE17WNa7hGgLC7Gw+m70x9UX5dgv6ws02VlIe9i44iGJ6fN57Piy5LBitxWkAjEEMNjmqO6G" +
24
+ "dnBlxNuSc9m+eImG91nqXa6BLNFFAPD3FzaEbqW8Ob/l8ayd9xXosTNMz0ywsV/l/zthra/7olAvRLqCrMtzI9ltC7kd40xWNesehLxf" +
25
+ "QIIoAUiDF9iRCzBavXR6O7jUf56QES6ScjQ43a62V0JIdbUDSdRJPr+zesPQug==" ;
23
26
24
27
private static final long OPENSSL_TEST_TIMEOUT_MILLISECONDS = 1000 ;
25
28
@@ -56,7 +59,7 @@ public void signatureIsIdenticalToGeneratedByOpenSSL() throws InterruptedExcepti
56
59
57
60
Process process ;
58
61
try {
59
- String command = String .format ("printf '%s' | openssl sha1 -sign %s | base64 -b 0" , DATA_TO_SIGN , testPrivateKeyFilePath );
62
+ String command = String .format ("printf '%s' | openssl sha256 -sign %s | base64 -b 0" , DATA_TO_SIGN , testPrivateKeyFilePath );
60
63
process = new ProcessBuilder ("/bin/sh" , "-c" , command ).start ();
61
64
} catch (Exception e ) {
62
65
assumeNoException (e );
Original file line number Diff line number Diff line change @@ -29,7 +29,7 @@ public class DigitalSignatures {
29
29
/**
30
30
* Default signature algorithm.
31
31
*/
32
- public static final String SIGNATURE_ALGORITHM = "SHA1withRSA " ;
32
+ public static final String SIGNATURE_ALGORITHM = "SHA256withRSA " ;
33
33
34
34
static {
35
35
Security .addProvider (new BouncyCastleProvider ());
Original file line number Diff line number Diff line change @@ -40,7 +40,10 @@ public class DigitalSignaturesTest {
40
40
@ Test
41
41
public void sign () throws IOException , GeneralSecurityException {
42
42
String dataToSign = "65a31b86-aa2e-47fd-a7a4-3710437ba270" ;
43
- String expectedSignatureBase64 = "oMbriRqpykbUnoL2sIX5xCO/yhrpZFd4TDu2lWdbcHkfxoYHQIvjdm/Px9SBgO5Lc58qjPkmeJA4z8B8spOVaxLRienkzvqrT0I11OFH7jJkoMu2g8bxPe7hmnRDdTB8cLZyFYGmlYjsr3vxemTUWSYYXdrys5Dh3LuOzWZmuYQ3bOwsBPm2sl7K39QM2KqXWckyqg9xpguWIGWzO86aKc/OboWqompVYKztLtdzMwAT5WQ5tPH+AA/lpiV3VG8J9TKTYpUzcrsRjUIelY+jznOkrFtqyyQsZ6l/G7yFXYTaA55ARc+k7CJExiw4mFX8wgPUHrGt289170HS+UJZDw==" ;
43
+ String expectedSignatureBase64 = "1JnHvXd24R99jZFl5KzJer1iMFGIdrGRmu09h7QkGzo5kgk3cLHdDesitNjK131lmpgAEwnI99j" +
44
+ "tyfJfiMjFZV4VqSAmr68W12r3Jc4ACE17WNa7hGgLC7Gw+m70x9UX5dgv6ws02VlIe9i44iGJ6fN57Piy5LBitxWkAjEEMNjmqO6" +
45
+ "GdnBlxNuSc9m+eImG91nqXa6BLNFFAPD3FzaEbqW8Ob/l8ayd9xXosTNMz0ywsV/l/zthra/7olAvRLqCrMtzI9ltC7kd40xWNes" +
46
+ "ehLxfQIIoAUiDF9iRCzBavXR6O7jUf56QES6ScjQ43a62V0JIdbUDSdRJPr+zesPQug==" ;
44
47
45
48
byte [] signature = DigitalSignatures .sign (PRIVATE_KEY , dataToSign .getBytes ());
46
49
You can’t perform that action at this time.
0 commit comments