public class org.apache.zookeeper.test.X509AuthTest extends org.apache.zookeeper.ZKTestCase
{
private static org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert;
private static org.apache.zookeeper.test.X509AuthTest$TestCertificate superCert;
private static org.apache.zookeeper.test.X509AuthTest$TestCertificate unknownCert;
public void <init>()
{
org.apache.zookeeper.test.X509AuthTest v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
specialinvoke v.<org.apache.zookeeper.ZKTestCase: void <init>()>();
return;
}
public void setUp()
{
org.apache.zookeeper.test.X509AuthTest$TestCertificate v, v, v;
org.apache.zookeeper.test.X509AuthTest v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.X509AuthenticationProvider.superUser", "CN=SUPER");
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.ssl.keyManager", "org.apache.zookeeper.test.X509AuthTest.TestKeyManager");
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("zookeeper.ssl.trustManager", "org.apache.zookeeper.test.X509AuthTest.TestTrustManager");
v = new org.apache.zookeeper.test.X509AuthTest$TestCertificate;
specialinvoke v.<org.apache.zookeeper.test.X509AuthTest$TestCertificate: void <init>(java.lang.String)>("CLIENT");
<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert> = v;
v = new org.apache.zookeeper.test.X509AuthTest$TestCertificate;
specialinvoke v.<org.apache.zookeeper.test.X509AuthTest$TestCertificate: void <init>(java.lang.String)>("SUPER");
<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate superCert> = v;
v = new org.apache.zookeeper.test.X509AuthTest$TestCertificate;
specialinvoke v.<org.apache.zookeeper.test.X509AuthTest$TestCertificate: void <init>(java.lang.String)>("UNKNOWN");
<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate unknownCert> = v;
return;
}
public void testTrustedAuth()
{
org.apache.zookeeper.test.X509AuthTest$TestCertificate v, v;
org.apache.zookeeper.server.auth.X509AuthenticationProvider v;
org.apache.zookeeper.data.Id[] v;
org.apache.zookeeper.test.X509AuthTest v;
org.apache.zookeeper.KeeperException$Code v, v;
java.util.List v, v;
org.apache.zookeeper.data.Id v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.server.MockServerCnxn v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert>;
v = virtualinvoke v.<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.server.auth.X509AuthenticationProvider createProvider(java.security.cert.X509Certificate)>(v);
v = new org.apache.zookeeper.server.MockServerCnxn;
specialinvoke v.<org.apache.zookeeper.server.MockServerCnxn: void <init>()>();
v = newarray (java.security.cert.X509Certificate)[1];
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert>;
v[0] = v;
v.<org.apache.zookeeper.server.MockServerCnxn: java.security.cert.Certificate[] clientChain> = v;
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code OK>;
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: org.apache.zookeeper.KeeperException$Code handleAuthentication(org.apache.zookeeper.server.ServerCnxn,byte[])>(v, null);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = newarray (org.apache.zookeeper.data.Id)[1];
v = new org.apache.zookeeper.data.Id;
specialinvoke v.<org.apache.zookeeper.data.Id: void <init>(java.lang.String,java.lang.String)>("x509", "CN=CLIENT");
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.MockServerCnxn: java.util.List getAuthInfo()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void testSuperAuth()
{
org.apache.zookeeper.test.X509AuthTest$TestCertificate v, v;
org.apache.zookeeper.server.auth.X509AuthenticationProvider v;
org.apache.zookeeper.data.Id[] v;
org.apache.zookeeper.test.X509AuthTest v;
org.apache.zookeeper.KeeperException$Code v, v;
java.util.List v, v;
org.apache.zookeeper.data.Id v, v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.server.MockServerCnxn v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate superCert>;
v = virtualinvoke v.<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.server.auth.X509AuthenticationProvider createProvider(java.security.cert.X509Certificate)>(v);
v = new org.apache.zookeeper.server.MockServerCnxn;
specialinvoke v.<org.apache.zookeeper.server.MockServerCnxn: void <init>()>();
v = newarray (java.security.cert.X509Certificate)[1];
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate superCert>;
v[0] = v;
v.<org.apache.zookeeper.server.MockServerCnxn: java.security.cert.Certificate[] clientChain> = v;
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code OK>;
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: org.apache.zookeeper.KeeperException$Code handleAuthentication(org.apache.zookeeper.server.ServerCnxn,byte[])>(v, null);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = newarray (org.apache.zookeeper.data.Id)[2];
v = new org.apache.zookeeper.data.Id;
specialinvoke v.<org.apache.zookeeper.data.Id: void <init>(java.lang.String,java.lang.String)>("super", "CN=SUPER");
v[0] = v;
v = new org.apache.zookeeper.data.Id;
specialinvoke v.<org.apache.zookeeper.data.Id: void <init>(java.lang.String,java.lang.String)>("x509", "CN=SUPER");
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.MockServerCnxn: java.util.List getAuthInfo()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void testUntrustedAuth()
{
org.apache.zookeeper.test.X509AuthTest$TestCertificate v, v;
org.apache.zookeeper.server.auth.X509AuthenticationProvider v;
org.apache.zookeeper.test.X509AuthTest v;
org.apache.zookeeper.KeeperException$Code v, v;
java.security.cert.X509Certificate[] v;
org.apache.zookeeper.server.MockServerCnxn v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert>;
v = virtualinvoke v.<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.server.auth.X509AuthenticationProvider createProvider(java.security.cert.X509Certificate)>(v);
v = new org.apache.zookeeper.server.MockServerCnxn;
specialinvoke v.<org.apache.zookeeper.server.MockServerCnxn: void <init>()>();
v = newarray (java.security.cert.X509Certificate)[1];
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate unknownCert>;
v[0] = v;
v.<org.apache.zookeeper.server.MockServerCnxn: java.security.cert.Certificate[] clientChain> = v;
v = <org.apache.zookeeper.KeeperException$Code: org.apache.zookeeper.KeeperException$Code AUTHFAILED>;
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: org.apache.zookeeper.KeeperException$Code handleAuthentication(org.apache.zookeeper.server.ServerCnxn,byte[])>(v, null);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void testTrustedAuth_HttpServletRequest()
{
org.apache.zookeeper.test.X509AuthTest$TestCertificate v, v;
org.apache.zookeeper.server.auth.X509AuthenticationProvider v;
org.apache.zookeeper.data.Id[] v;
org.apache.zookeeper.test.X509AuthTest v;
org.mockito.stubbing.Stubber v;
java.util.List v, v;
org.apache.zookeeper.data.Id v;
java.lang.Object v, v;
java.security.cert.X509Certificate[] v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert>;
v = virtualinvoke v.<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.server.auth.X509AuthenticationProvider createProvider(java.security.cert.X509Certificate)>(v);
v = staticinvoke <org.mockito.Mockito: java.lang.Object mock(java.lang.Class)>(class "Ljavax/servlet/http/HttpServletRequest;");
v = newarray (java.security.cert.X509Certificate)[1];
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert>;
v[0] = v;
v = staticinvoke <org.mockito.Mockito: org.mockito.stubbing.Stubber doReturn(java.lang.Object)>(v);
v = interfaceinvoke v.<org.mockito.stubbing.Stubber: java.lang.Object when(java.lang.Object)>(v);
interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.Object getAttribute(java.lang.String)>("javax.servlet.request.X509Certificate");
v = newarray (org.apache.zookeeper.data.Id)[1];
v = new org.apache.zookeeper.data.Id;
specialinvoke v.<org.apache.zookeeper.data.Id: void <init>(java.lang.String,java.lang.String)>("x509", "CN=CLIENT");
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: java.util.List handleAuthentication(javax.servlet.http.HttpServletRequest,byte[])>(v, null);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void testSuperAuth_HttpServletRequest()
{
org.apache.zookeeper.test.X509AuthTest$TestCertificate v, v;
org.apache.zookeeper.server.auth.X509AuthenticationProvider v;
org.apache.zookeeper.data.Id[] v;
org.apache.zookeeper.test.X509AuthTest v;
org.mockito.stubbing.Stubber v;
java.util.List v, v;
org.apache.zookeeper.data.Id v, v;
java.lang.Object v, v;
java.security.cert.X509Certificate[] v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate superCert>;
v = virtualinvoke v.<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.server.auth.X509AuthenticationProvider createProvider(java.security.cert.X509Certificate)>(v);
v = staticinvoke <org.mockito.Mockito: java.lang.Object mock(java.lang.Class)>(class "Ljavax/servlet/http/HttpServletRequest;");
v = newarray (java.security.cert.X509Certificate)[1];
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate superCert>;
v[0] = v;
v = staticinvoke <org.mockito.Mockito: org.mockito.stubbing.Stubber doReturn(java.lang.Object)>(v);
v = interfaceinvoke v.<org.mockito.stubbing.Stubber: java.lang.Object when(java.lang.Object)>(v);
interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.Object getAttribute(java.lang.String)>("javax.servlet.request.X509Certificate");
v = newarray (org.apache.zookeeper.data.Id)[2];
v = new org.apache.zookeeper.data.Id;
specialinvoke v.<org.apache.zookeeper.data.Id: void <init>(java.lang.String,java.lang.String)>("super", "CN=SUPER");
v[0] = v;
v = new org.apache.zookeeper.data.Id;
specialinvoke v.<org.apache.zookeeper.data.Id: void <init>(java.lang.String,java.lang.String)>("x509", "CN=SUPER");
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: java.util.List handleAuthentication(javax.servlet.http.HttpServletRequest,byte[])>(v, null);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void testUntrustedAuth_HttpServletRequest()
{
org.apache.zookeeper.test.X509AuthTest$TestCertificate v, v;
org.apache.zookeeper.server.auth.X509AuthenticationProvider v;
org.apache.zookeeper.test.X509AuthTest v;
org.mockito.stubbing.Stubber v;
java.util.List v;
java.lang.Object v, v;
java.security.cert.X509Certificate[] v;
boolean v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate clientCert>;
v = virtualinvoke v.<org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.server.auth.X509AuthenticationProvider createProvider(java.security.cert.X509Certificate)>(v);
v = staticinvoke <org.mockito.Mockito: java.lang.Object mock(java.lang.Class)>(class "Ljavax/servlet/http/HttpServletRequest;");
v = newarray (java.security.cert.X509Certificate)[1];
v = <org.apache.zookeeper.test.X509AuthTest: org.apache.zookeeper.test.X509AuthTest$TestCertificate unknownCert>;
v[0] = v;
v = staticinvoke <org.mockito.Mockito: org.mockito.stubbing.Stubber doReturn(java.lang.Object)>(v);
v = interfaceinvoke v.<org.mockito.stubbing.Stubber: java.lang.Object when(java.lang.Object)>(v);
interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.Object getAttribute(java.lang.String)>("javax.servlet.request.X509Certificate");
v = virtualinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: java.util.List handleAuthentication(javax.servlet.http.HttpServletRequest,byte[])>(v, null);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
return;
}
protected org.apache.zookeeper.server.auth.X509AuthenticationProvider createProvider(java.security.cert.X509Certificate)
{
java.security.cert.X509Certificate v;
org.apache.zookeeper.server.auth.X509AuthenticationProvider v;
org.apache.zookeeper.test.X509AuthTest$TestKeyManager v;
org.apache.zookeeper.test.X509AuthTest v;
org.apache.zookeeper.test.X509AuthTest$TestTrustManager v;
v := @this: org.apache.zookeeper.test.X509AuthTest;
v := @parameter: java.security.cert.X509Certificate;
v = new org.apache.zookeeper.server.auth.X509AuthenticationProvider;
v = new org.apache.zookeeper.test.X509AuthTest$TestTrustManager;
specialinvoke v.<org.apache.zookeeper.test.X509AuthTest$TestTrustManager: void <init>(java.security.cert.X509Certificate)>(v);
v = new org.apache.zookeeper.test.X509AuthTest$TestKeyManager;
specialinvoke v.<org.apache.zookeeper.test.X509AuthTest$TestKeyManager: void <init>()>();
specialinvoke v.<org.apache.zookeeper.server.auth.X509AuthenticationProvider: void <init>(javax.net.ssl.X509TrustManager,javax.net.ssl.X509KeyManager)>(v, v);
return v;
}
}