1 package org.eclipse.aether.transport.http;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.IOException;
23 import java.security.cert.X509Certificate;
24
25 import javax.net.ssl.HostnameVerifier;
26 import javax.net.ssl.SSLException;
27 import javax.net.ssl.SSLSession;
28 import javax.net.ssl.SSLSocket;
29
30 import org.apache.http.conn.ssl.X509HostnameVerifier;
31
32
33
34
35 final class X509HostnameVerifierAdapter
36 implements X509HostnameVerifier
37 {
38
39 private final HostnameVerifier verifier;
40
41 public static X509HostnameVerifier adapt( HostnameVerifier verifier )
42 {
43 if ( verifier instanceof X509HostnameVerifier )
44 {
45 return (X509HostnameVerifier) verifier;
46 }
47 return new X509HostnameVerifierAdapter( verifier );
48 }
49
50 private X509HostnameVerifierAdapter( HostnameVerifier verifier )
51 {
52 this.verifier = verifier;
53 }
54
55 public boolean verify( String hostname, SSLSession session )
56 {
57 return verifier.verify( hostname, session );
58 }
59
60 public void verify( String host, SSLSocket socket )
61 throws IOException
62 {
63 if ( !verify( host, socket.getSession() ) )
64 {
65 throw new SSLException( "<" + host + "> does not pass hostname verification" );
66 }
67 }
68
69 public void verify( String host, X509Certificate cert )
70 throws SSLException
71 {
72 throw new UnsupportedOperationException();
73 }
74
75 public void verify( String host, String[] cns, String[] subjectAlts )
76 throws SSLException
77 {
78 throw new UnsupportedOperationException();
79 }
80
81 }