1 package com.atlassian.security.auth.trustedapps.filter;
2
3 import java.security.KeyPair;
4 import java.security.KeyPairGenerator;
5
6 import com.atlassian.security.auth.trustedapps.filter.RequestSignatureTool.UnableToVerifySignatureException;
7
8 import org.junit.Test;
9
10 import static org.junit.Assert.assertFalse;
11
12 public class TestRequestSignatureTool
13 {
14 private RequestSignatureTool requestSignatureTool = new RequestSignatureTool();
15
16 @Test
17 public void failsWhenSignatureIsInvalid() throws Exception
18 {
19 String signature = "XXXX";
20
21 KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
22 KeyPair kp = kpg.genKeyPair();
23
24 assertFalse(requestSignatureTool.verify(0, "http://www.example.com/", kp.getPublic(), signature));
25 }
26
27 @Test(expected = UnableToVerifySignatureException.class)
28 public void failsWhenSignatureIsInvalidBase64Encoded() throws Exception
29 {
30 String signature = "";
31
32 KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
33 KeyPair kp = kpg.genKeyPair();
34
35 requestSignatureTool.verify(0, "http://www.example.com/", kp.getPublic(), signature);
36 }
37 }