|
16 | 16 |
|
17 | 17 | public class XfccParserTest { |
18 | 18 | @Test |
19 | | - public void parseSimpleHeaderWorks() { |
| 19 | + public void parseLegacySanHeaderWorks() { |
20 | 20 | String header = "By=http://frontend.lyft.com;Hash=468ed33be74eee6556d90c0149c1309e9ba61d6425303443c0748a02dd8de688;" + |
21 | 21 | "SAN=http://testclient.lyft.com"; |
22 | 22 | List<XForwardedClientCert> certs = XfccParser.parse(header); |
23 | 23 |
|
24 | 24 | assertThat(certs.size()).isEqualTo(1); |
25 | 25 | assertThat(certs.get(0).getBy()).isEqualTo("http://frontend.lyft.com"); |
26 | 26 | assertThat(certs.get(0).getHash()).isEqualTo("468ed33be74eee6556d90c0149c1309e9ba61d6425303443c0748a02dd8de688"); |
27 | | - assertThat(certs.get(0).getSan()).isEqualTo("http://testclient.lyft.com"); |
| 27 | + assertThat(certs.get(0).getSanUri()).isEqualTo("http://testclient.lyft.com"); |
28 | 28 | assertThat(certs.get(0).getSubject()).isEmpty(); |
| 29 | + assertThat(certs.get(0).getSanDns()).isEmpty(); |
29 | 30 | } |
| 31 | + |
| 32 | + @Test |
| 33 | + public void parseSimpleHeaderWorks() { |
| 34 | + String header = "Hash=ebb216c5155a5fd8c8f082a07362b3c7b1a8ee2f98c20f6142b49fe5c2db90bd;DNS=test-tls-in;DNS=second-san;" + |
| 35 | + "DNS=third-san;Subject=\"OU=0:test-tls-in,CN=localhost\""; |
| 36 | + List<XForwardedClientCert> certs = XfccParser.parse(header); |
| 37 | + |
| 38 | + assertThat(certs.size()).isEqualTo(1); |
| 39 | + assertThat(certs.get(0).getBy()).isEmpty(); |
| 40 | + assertThat(certs.get(0).getHash()).isEqualTo("ebb216c5155a5fd8c8f082a07362b3c7b1a8ee2f98c20f6142b49fe5c2db90bd"); |
| 41 | + assertThat(certs.get(0).getSanUri()).isEmpty(); |
| 42 | + assertThat(certs.get(0).getSubject()).isEqualTo("OU=0:test-tls-in,CN=localhost"); |
| 43 | + assertThat(certs.get(0).getSanDns()).containsExactly("test-tls-in", "second-san", "third-san"); |
| 44 | + } |
| 45 | + |
| 46 | + @Test |
| 47 | + public void parseUriSanHeaderWorks() { |
| 48 | + String header = "By=http://frontend.lyft.com;Hash=468ed33be74eee6556d90c0149c1309e9ba61d6425303443c0748a02dd8de688;Subject=\"/C=US/ST=CA/L=San Francisco/OU=Lyft/CN=Test Client\";URI=http://testclient.lyft.com"; |
| 49 | + List<XForwardedClientCert> certs = XfccParser.parse(header); |
| 50 | + |
| 51 | + assertThat(certs.size()).isEqualTo(1); |
| 52 | + assertThat(certs.get(0).getBy()).isEqualTo("http://frontend.lyft.com"); |
| 53 | + assertThat(certs.get(0).getHash()).isEqualTo("468ed33be74eee6556d90c0149c1309e9ba61d6425303443c0748a02dd8de688"); |
| 54 | + assertThat(certs.get(0).getSanUri()).isEqualTo("http://testclient.lyft.com"); |
| 55 | + assertThat(certs.get(0).getSubject()).isEqualTo("/C=US/ST=CA/L=San Francisco/OU=Lyft/CN=Test Client"); |
| 56 | + assertThat(certs.get(0).getSanDns()).isEmpty(); |
| 57 | + } |
| 58 | + |
| 59 | + @Test |
| 60 | + public void parseUriAndDnsSanHeaderWorks() { |
| 61 | + String header = "By=http://frontend.lyft.com;Hash=468ed33be74eee6556d90c0149c1309e9ba61d6425303443c0748a02dd8de688;Subject=\"/C=US/ST=CA/L=San Francisco/OU=Lyft/CN=Test Client\";URI=http://testclient.lyft.com;DNS=lyft.com;DNS=www.lyft.com"; |
| 62 | + List<XForwardedClientCert> certs = XfccParser.parse(header); |
| 63 | + |
| 64 | + assertThat(certs.size()).isEqualTo(1); |
| 65 | + assertThat(certs.get(0).getBy()).isEqualTo("http://frontend.lyft.com"); |
| 66 | + assertThat(certs.get(0).getHash()).isEqualTo("468ed33be74eee6556d90c0149c1309e9ba61d6425303443c0748a02dd8de688"); |
| 67 | + assertThat(certs.get(0).getSanUri()).isEqualTo("http://testclient.lyft.com"); |
| 68 | + assertThat(certs.get(0).getSubject()).isEqualTo("/C=US/ST=CA/L=San Francisco/OU=Lyft/CN=Test Client"); |
| 69 | + assertThat(certs.get(0).getSanDns()).containsExactly("lyft.com", "www.lyft.com"); |
| 70 | + } |
| 71 | + |
30 | 72 | @Test |
31 | 73 | public void parseCompoundHeaderWorks() { |
32 | 74 | String header = "By=http://frontend.lyft.com;Hash=468ed33be74eee6556d90c0149c1309e9ba61d6425303443c0748a02dd8de688;SAN=http://testclient.lyft.com," + |
|
0 commit comments