@@ -23,9 +23,20 @@ public class ECDSAAlgorithmTest {
2323 @ Rule
2424 public ExpectedException exception = ExpectedException .none ();
2525
26+ //JOSE Signatures obtained using Node 'jwa' lib: https://github.com/brianloveswords/node-jwa
27+ //DER Signatures obtained from source JOSE signature using 'ecdsa-sig-formatter' lib: https://github.com/Brightspace/node-ecdsa-sig-formatter
28+
2629 @ Test
27- public void shouldPassECDSA256Verification () throws Exception {
28- String jwt = "eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9.W9qfN1b80B9hnMo49WL8THrOsf1vEjOhapeFemPMGySzxTcgfyudS5esgeBTO908X5SLdAr5jMwPUPBs9b6nNg" ;
30+ public void shouldPassECDSA256VerificationWithJOSESignature () throws Exception {
31+ String jwt = "eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9.4iVk3-Y0v4RT4_9IaQlp-8dZ_4fsTzIylgrPTDLrEvTHBTyVS3tgPbr2_IZfLETtiKRqCg0aQ5sh9eIsTTwB1g" ;
32+ PublicKey key = readPublicKeyFromFile (PUBLIC_KEY_FILE_256 , "EC" );
33+ Algorithm algorithm = Algorithm .ECDSA256 (key );
34+ algorithm .verify (jwt .split ("\\ ." ));
35+ }
36+
37+ @ Test
38+ public void shouldPassECDSA256VerificationWithDERSignature () throws Exception {
39+ String jwt = "eyJhbGciOiJFUzI1NiJ9.eyJpc3MiOiJhdXRoMCJ9.MEYCIQDiJWTf5jS/hFPj/0hpCWn7x1n/h+xPMjKWCs9MMusS9AIhAMcFPJVLe2A9uvb8hl8sRO2IpGoKDRpDmyH14ixNPAHW" ;
2940 PublicKey key = readPublicKeyFromFile (PUBLIC_KEY_FILE_256 , "EC" );
3041 Algorithm algorithm = Algorithm .ECDSA256 (key );
3142 algorithm .verify (jwt .split ("\\ ." ));
@@ -41,8 +52,16 @@ public void shouldFailECDSA256VerificationWithInvalidPublicKey() throws Exceptio
4152 }
4253
4354 @ Test
44- public void shouldPassECDSA384Verification () throws Exception {
45- String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9._k5h1KyO-NE0R2_HAw0-XEc0bGT5atv29SxHhOGC9JDqUHeUdptfCK_ljQ01nLVt2OQWT2SwGs-TuyHDFmhPmPGFZ9wboxvq_ieopmYqhQilNAu-WF-frioiRz9733fU" ;
55+ public void shouldPassECDSA384VerificationWithJOSESignature () throws Exception {
56+ String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.50UU5VKNdF1wfykY8jQBKpvuHZoe6IZBJm5NvoB8bR-hnRg6ti-CHbmvoRtlLfnHfwITa_8cJMy6TenMC2g63GQHytc8rYoXqbwtS4R0Ko_AXbLFUmfxnGnMC6v4MS_z" ;
57+ PublicKey key = readPublicKeyFromFile (PUBLIC_KEY_FILE_384 , "EC" );
58+ Algorithm algorithm = Algorithm .ECDSA384 (key );
59+ algorithm .verify (jwt .split ("\\ ." ));
60+ }
61+
62+ @ Test
63+ public void shouldPassECDSA384VerificationWithDERSignature () throws Exception {
64+ String jwt = "eyJhbGciOiJFUzM4NCJ9.eyJpc3MiOiJhdXRoMCJ9.MGUCMQDnRRTlUo10XXB/KRjyNAEqm+4dmh7ohkEmbk2+gHxtH6GdGDq2L4Idua+hG2Ut+ccCMH8CE2v/HCTMuk3pzAtoOtxkB8rXPK2KF6m8LUuEdCqPwF2yxVJn8ZxpzAur+DEv8w==" ;
4665 PublicKey key = readPublicKeyFromFile (PUBLIC_KEY_FILE_384 , "EC" );
4766 Algorithm algorithm = Algorithm .ECDSA384 (key );
4867 algorithm .verify (jwt .split ("\\ ." ));
@@ -58,8 +77,16 @@ public void shouldFailECDSA384VerificationWithInvalidPublicKey() throws Exceptio
5877 }
5978
6079 @ Test
61- public void shouldPassECDSA512Verification () throws Exception {
62- String jwt = "eyJhbGciOiJFUzUxMiJ9.eyJpc3MiOiJhdXRoMCJ9.AZgdopFFsN0amCSs2kOucXdpylD31DEm5ChK1PG0_gq5Mf47MrvVph8zHSVuvcrXzcE1U3VxeCg89mYW1H33Y-8iAF0QFkdfTUQIWKNObH543WNMYYssv3OtOj0znPv8atDbaF8DMYAtcT1qdmaSJRhx-egRE9HGZkinPh9CfLLLt58X" ;
80+ public void shouldPassECDSA512VerificationWithJOSESignature () throws Exception {
81+ String jwt = "eyJhbGciOiJFUzUxMiJ9.eyJpc3MiOiJhdXRoMCJ9.AeCJPDIsSHhwRSGZCY6rspi8zekOw0K9qYMNridP1Fu9uhrA1QrG-EUxXlE06yvmh2R7Rz0aE7kxBwrnq8L8aOBCAYAsqhzPeUvyp8fXjjgs0Eto5I0mndE2QHlgcMSFASyjHbU8wD2Rq7ZNzGQ5b2MZfpv030WGUajT-aZYWFUJHVg2" ;
82+ PublicKey key = readPublicKeyFromFile (PUBLIC_KEY_FILE_512 , "EC" );
83+ Algorithm algorithm = Algorithm .ECDSA512 (key );
84+ algorithm .verify (jwt .split ("\\ ." ));
85+ }
86+
87+ @ Test
88+ public void shouldPassECDSA512VerificationWithDERSignature () throws Exception {
89+ String jwt = "eyJhbGciOiJFUzUxMiJ9.eyJpc3MiOiJhdXRoMCJ9.MIGIAkIB4Ik8MixIeHBFIZkJjquymLzN6Q7DQr2pgw2uJ0/UW726GsDVCsb4RTFeUTTrK+aHZHtHPRoTuTEHCuerwvxo4EICQgGALKocz3lL8qfH1444LNBLaOSNJp3RNkB5YHDEhQEsox21PMA9kau2TcxkOW9jGX6b9N9FhlGo0/mmWFhVCR1YNg==" ;
6390 PublicKey key = readPublicKeyFromFile (PUBLIC_KEY_FILE_512 , "EC" );
6491 Algorithm algorithm = Algorithm .ECDSA512 (key );
6592 algorithm .verify (jwt .split ("\\ ." ));
0 commit comments