public class org.apache.zookeeper.common.ZKTrustManagerTest extends org.apache.zookeeper.ZKTestCase
{
protected static final org.slf4j.Logger LOG;
private static java.security.KeyPair keyPair;
private javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager;
private static final java.lang.String IP_ADDRESS;
private static final java.lang.String HOSTNAME;
private java.net.Socket mockSocket;
public void <init>()
{
org.apache.zookeeper.common.ZKTrustManagerTest v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
return;
}
public static void setupDNSMocks()
{
java.util.LinkedHashMap v;
java.lang.Object[] v;
org.burningwave.tools.net.HostResolutionRequestInterceptor v;
org.burningwave.tools.net.HostResolver v;
org.burningwave.tools.net.MappedHostResolver v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("localhost", "127.0.0.1");
v = <org.burningwave.tools.net.HostResolutionRequestInterceptor: org.burningwave.tools.net.HostResolutionRequestInterceptor INSTANCE>;
v = newarray (org.burningwave.tools.net.HostResolver)[2];
v = new org.burningwave.tools.net.MappedHostResolver;
specialinvoke v.<org.burningwave.tools.net.MappedHostResolver: void <init>(java.util.Map)>(v);
v[0] = v;
v = <org.burningwave.tools.net.DefaultHostResolver: org.burningwave.tools.net.HostResolver INSTANCE>;
v[1] = v;
virtualinvoke v.<org.burningwave.tools.net.HostResolutionRequestInterceptor: org.burningwave.tools.net.HostResolutionRequestInterceptor install(org.burningwave.tools.net.HostResolver[])>(v);
return;
}
public static void clearDNSMocks()
{
org.burningwave.tools.net.HostResolutionRequestInterceptor v;
v = <org.burningwave.tools.net.HostResolutionRequestInterceptor: org.burningwave.tools.net.HostResolutionRequestInterceptor INSTANCE>;
virtualinvoke v.<org.burningwave.tools.net.HostResolutionRequestInterceptor: org.burningwave.tools.net.HostResolutionRequestInterceptor uninstall()>();
return;
}
public static void createKeyPair() throws java.lang.Exception
{
java.security.KeyPairGenerator v;
java.security.KeyPair v;
org.bouncycastle.jce.provider.BouncyCastleProvider v;
v = new org.bouncycastle.jce.provider.BouncyCastleProvider;
specialinvoke v.<org.bouncycastle.jce.provider.BouncyCastleProvider: void <init>()>();
staticinvoke <java.security.Security: int addProvider(java.security.Provider)>(v);
v = staticinvoke <java.security.KeyPairGenerator: java.security.KeyPairGenerator getInstance(java.lang.String,java.lang.String)>("RSA", "BC");
virtualinvoke v.<java.security.KeyPairGenerator: void initialize(int)>(4096);
v = virtualinvoke v.<java.security.KeyPairGenerator: java.security.KeyPair genKeyPair()>();
<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.KeyPair keyPair> = v;
return;
}
public static void removeBouncyCastleProvider() throws java.lang.Exception
{
staticinvoke <java.security.Security: void removeProvider(java.lang.String)>("BC");
return;
}
public void setup() throws java.lang.Exception
{
java.net.Socket v;
org.mockito.stubbing.OngoingStubbing v;
java.net.InetAddress v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest$1 v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = staticinvoke <org.mockito.Mockito: java.lang.Object mock(java.lang.Class)>(class "Ljavax/net/ssl/X509ExtendedTrustManager;");
v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager> = v;
v = staticinvoke <java.net.InetAddress: java.net.InetAddress getByName(java.lang.String)>("localhost");
v = staticinvoke <org.mockito.Mockito: java.lang.Object mock(java.lang.Class)>(class "Ljava/net/Socket;");
v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket> = v;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = staticinvoke <org.mockito.Mockito: org.mockito.stubbing.OngoingStubbing when(java.lang.Object)>(v);
v = new org.apache.zookeeper.common.ZKTrustManagerTest$1;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$1: void <init>(org.apache.zookeeper.common.ZKTrustManagerTest,java.net.InetAddress)>(v, v);
interfaceinvoke v.<org.mockito.stubbing.OngoingStubbing: org.mockito.stubbing.OngoingStubbing thenAnswer(org.mockito.stubbing.Answer)>(v);
return;
}
private java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String, java.lang.String) throws java.lang.Exception
{
java.security.cert.X509Certificate v;
java.security.KeyPair v, v;
org.bouncycastle.asn.x.GeneralName[] v;
org.bouncycastle.asn.x.BasicConstraints v;
java.util.Date v, v;
java.util.Random v;
org.bouncycastle.asn.x.X500Name v, v;
org.bouncycastle.asn.x.X500NameStyle v;
java.math.BigInteger v;
org.bouncycastle.asn.ASN1ObjectIdentifier v, v, v, v;
boolean v;
org.bouncycastle.asn.x.GeneralName v, v;
java.security.PrivateKey v;
java.security.cert.X509Certificate[] v;
org.bouncycastle.asn.x.KeyUsage v;
org.bouncycastle.cert.X509CertificateHolder v;
java.lang.Object[] v;
org.bouncycastle.operator.ContentSigner v;
org.bouncycastle.cert.jcajce.JcaX509CertificateConverter v;
org.bouncycastle.operator.jcajce.JcaContentSignerBuilder v;
java.util.ArrayList v;
java.util.Calendar v;
java.lang.String v, v;
org.bouncycastle.asn.x.X500NameBuilder v;
org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder v;
java.security.PublicKey v;
org.bouncycastle.asn.x.GeneralNames v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
org.bouncycastle.cert.X509v3CertificateBuilder v, v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new org.bouncycastle.asn.x.X500NameBuilder;
v = <org.bouncycastle.asn.x.style.BCStyle: org.bouncycastle.asn.x.X500NameStyle INSTANCE>;
specialinvoke v.<org.bouncycastle.asn.x.X500NameBuilder: void <init>(org.bouncycastle.asn.x.X500NameStyle)>(v);
v = <org.bouncycastle.asn.x.style.BCStyle: org.bouncycastle.asn.ASN1ObjectIdentifier CN>;
virtualinvoke v.<org.bouncycastle.asn.x.X500NameBuilder: org.bouncycastle.asn.x.X500NameBuilder addRDN(org.bouncycastle.asn.ASN1ObjectIdentifier,java.lang.String)>(v, "NOT_LOCALHOST");
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance()>();
virtualinvoke v.<java.util.Calendar: void setTime(java.util.Date)>(v);
virtualinvoke v.<java.util.Calendar: void add(int,int)>(1, 1);
v = virtualinvoke v.<java.util.Calendar: java.util.Date getTime()>();
v = new java.math.BigInteger;
v = new java.util.Random;
specialinvoke v.<java.util.Random: void <init>()>();
specialinvoke v.<java.math.BigInteger: void <init>(int,java.util.Random)>(128, v);
v = new org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder;
v = virtualinvoke v.<org.bouncycastle.asn.x.X500NameBuilder: org.bouncycastle.asn.x.X500Name build()>();
v = virtualinvoke v.<org.bouncycastle.asn.x.X500NameBuilder: org.bouncycastle.asn.x.X500Name build()>();
v = <org.apache.zookeeper.common.ZKTrustManagerTest: java.security.KeyPair keyPair>;
v = virtualinvoke v.<java.security.KeyPair: java.security.PublicKey getPublic()>();
specialinvoke v.<org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder: void <init>(org.bouncycastle.asn.x.X500Name,java.math.BigInteger,java.util.Date,java.util.Date,org.bouncycastle.asn.x.X500Name,java.security.PublicKey)>(v, v, v, v, v, v);
v = <org.bouncycastle.asn.x.Extension: org.bouncycastle.asn.ASN1ObjectIdentifier basicConstraints>;
v = new org.bouncycastle.asn.x.BasicConstraints;
specialinvoke v.<org.bouncycastle.asn.x.BasicConstraints: void <init>(int)>(0);
v = virtualinvoke v.<org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder: org.bouncycastle.cert.X509v3CertificateBuilder addExtension(org.bouncycastle.asn.ASN1ObjectIdentifier,boolean,org.bouncycastle.asn.ASN1Encodable)>(v, 1, v);
v = <org.bouncycastle.asn.x.Extension: org.bouncycastle.asn.ASN1ObjectIdentifier keyUsage>;
v = new org.bouncycastle.asn.x.KeyUsage;
specialinvoke v.<org.bouncycastle.asn.x.KeyUsage: void <init>(int)>(134);
v = virtualinvoke v.<org.bouncycastle.cert.X509v3CertificateBuilder: org.bouncycastle.cert.X509v3CertificateBuilder addExtension(org.bouncycastle.asn.ASN1ObjectIdentifier,boolean,org.bouncycastle.asn.ASN1Encodable)>(v, 1, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
if v == null goto label;
v = new org.bouncycastle.asn.x.GeneralName;
specialinvoke v.<org.bouncycastle.asn.x.GeneralName: void <init>(int,java.lang.String)>(7, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
if v == null goto label;
v = new org.bouncycastle.asn.x.GeneralName;
specialinvoke v.<org.bouncycastle.asn.x.GeneralName: void <init>(int,java.lang.String)>(2, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = <org.bouncycastle.asn.x.Extension: org.bouncycastle.asn.ASN1ObjectIdentifier subjectAlternativeName>;
v = new org.bouncycastle.asn.x.GeneralNames;
v = newarray (org.bouncycastle.asn.x.GeneralName)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
specialinvoke v.<org.bouncycastle.asn.x.GeneralNames: void <init>(org.bouncycastle.asn.x.GeneralName[])>(v);
virtualinvoke v.<org.bouncycastle.cert.X509v3CertificateBuilder: org.bouncycastle.cert.X509v3CertificateBuilder addExtension(org.bouncycastle.asn.ASN1ObjectIdentifier,boolean,org.bouncycastle.asn.ASN1Encodable)>(v, 1, v);
label:
v = new org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
specialinvoke v.<org.bouncycastle.operator.jcajce.JcaContentSignerBuilder: void <init>(java.lang.String)>("SHA256WithRSAEncryption");
v = <org.apache.zookeeper.common.ZKTrustManagerTest: java.security.KeyPair keyPair>;
v = virtualinvoke v.<java.security.KeyPair: java.security.PrivateKey getPrivate()>();
v = virtualinvoke v.<org.bouncycastle.operator.jcajce.JcaContentSignerBuilder: org.bouncycastle.operator.ContentSigner build(java.security.PrivateKey)>(v);
v = newarray (java.security.cert.X509Certificate)[1];
v = new org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
specialinvoke v.<org.bouncycastle.cert.jcajce.JcaX509CertificateConverter: void <init>()>();
v = virtualinvoke v.<org.bouncycastle.cert.X509v3CertificateBuilder: org.bouncycastle.cert.X509CertificateHolder build(org.bouncycastle.operator.ContentSigner)>(v);
v = virtualinvoke v.<org.bouncycastle.cert.jcajce.JcaX509CertificateConverter: java.security.cert.X509Certificate getCertificate(org.bouncycastle.cert.X509CertificateHolder)>(v);
v[0] = v;
return v;
}
public void testServerHostnameVerificationWithHostnameVerificationDisabled() throws java.lang.Exception
{
java.net.Socket v, v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v;
javax.net.ssl.X509ExtendedTrustManager v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
boolean v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 0, 0, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>("127.0.0.1", "localhost");
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(0);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
public void testServerHostnameVerificationWithHostnameVerificationDisabledAndClientHostnameVerificationEnabled() throws java.lang.Exception
{
java.net.Socket v, v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v;
javax.net.ssl.X509ExtendedTrustManager v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
boolean v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 0, 1, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>("127.0.0.1", "localhost");
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(0);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
public void testServerHostnameVerificationWithIPAddress() throws java.lang.Exception
{
java.net.Socket v, v, v;
java.lang.String[] v;
javax.net.ssl.X509ExtendedTrustManager v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 1, 0, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>("127.0.0.1", null);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = newarray (java.lang.String)[1];
v[0] = "127.0.0.1";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
public void testServerHostnameVerificationWithHostname() throws java.lang.Exception
{
java.net.Socket v, v, v;
java.lang.String[] v;
javax.net.ssl.X509ExtendedTrustManager v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 1, 0, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>(null, "localhost");
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = newarray (java.lang.String)[2];
v[0] = "127.0.0.1";
v[1] = "localhost";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
public void testClientHostnameVerificationWithHostnameVerificationDisabled() throws java.lang.Exception
{
java.net.Socket v, v, v;
java.lang.String[] v;
javax.net.ssl.X509ExtendedTrustManager v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 0, 1, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>(null, "localhost");
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = newarray (java.lang.String)[2];
v[0] = "127.0.0.1";
v[1] = "localhost";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
public void testClientHostnameVerificationWithClientHostnameVerificationDisabled() throws java.lang.Exception
{
java.net.Socket v, v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v;
javax.net.ssl.X509ExtendedTrustManager v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
boolean v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 1, 0, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>(null, "localhost");
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(0);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
public void testClientHostnameVerificationWithIPAddress() throws java.lang.Exception
{
java.net.Socket v, v, v;
java.lang.String[] v;
javax.net.ssl.X509ExtendedTrustManager v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 1, 1, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>("127.0.0.1", null);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = newarray (java.lang.String)[1];
v[0] = "127.0.0.1";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
public void testClientHostnameVerificationWithHostname() throws java.lang.Exception
{
java.net.Socket v, v, v;
java.lang.String[] v;
javax.net.ssl.X509ExtendedTrustManager v, v;
org.apache.zookeeper.common.ZKTrustManager v;
org.mockito.verification.VerificationMode v, v;
java.util.List v, v;
java.lang.Object v, v;
org.apache.zookeeper.common.ZKTrustManagerTest v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier v;
v := @this: org.apache.zookeeper.common.ZKTrustManagerTest;
v = new org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: void <init>()>();
v = new org.apache.zookeeper.common.ZKTrustManager;
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
specialinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void <init>(javax.net.ssl.X509ExtendedTrustManager,boolean,boolean,org.apache.zookeeper.common.ZKHostnameVerifier)>(v, 1, 1, v);
v = specialinvoke v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.security.cert.X509Certificate[] createSelfSignedCertifcateChain(java.lang.String,java.lang.String)>(null, "localhost");
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<org.apache.zookeeper.common.ZKTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
virtualinvoke v.<java.net.Socket: java.net.InetAddress getInetAddress()>();
v = newarray (java.lang.String)[2];
v[0] = "127.0.0.1";
v[1] = "localhost";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest$VerifiableHostnameVerifier: java.util.List hosts>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: javax.net.ssl.X509ExtendedTrustManager mockX509ExtendedTrustManager>;
v = staticinvoke <org.mockito.Mockito: org.mockito.verification.VerificationMode times(int)>(1);
v = staticinvoke <org.mockito.Mockito: java.lang.Object verify(java.lang.Object,org.mockito.verification.VerificationMode)>(v, v);
v = v.<org.apache.zookeeper.common.ZKTrustManagerTest: java.net.Socket mockSocket>;
virtualinvoke v.<javax.net.ssl.X509ExtendedTrustManager: void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String,java.net.Socket)>(v, null, v);
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/common/ZKTrustManagerTest;");
<org.apache.zookeeper.common.ZKTrustManagerTest: org.slf4j.Logger LOG> = v;
return;
}
}