public class io.fabric.kubernetes.clnt.v.internal.CertUtils extends java.lang.Object
{
private static final org.slf4j.Logger LOG;
public static final java.lang.String TRUST_STORE_SYSTEM_PROPERTY;
public static final java.lang.String TRUST_STORE_PASSWORD_SYSTEM_PROPERTY;
public static final java.lang.String KEY_STORE_SYSTEM_PROPERTY;
public static final java.lang.String KEY_STORE_PASSWORD_SYSTEM_PROPERTY;
private void <init>()
{
io.fabric.kubernetes.clnt.v.internal.CertUtils v;
v := @this: io.fabric.kubernetes.clnt.v.internal.CertUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static java.io.InputStream getInputStreamFromDataOrFile(java.lang.String, java.lang.String) throws java.io.IOException
{
byte[] v, v;
java.lang.String[] v;
java.io.ByteArrayInputStream v, v;
java.lang.String v, v, v, v;
java.nio.file.Path v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.io.ByteArrayInputStream createInputStreamFromBase64EncodedString(java.lang.String)>(v);
return v;
label:
if v == null goto label;
v = new java.io.ByteArrayInputStream;
v = new java.lang.String;
v = newarray (java.lang.String)[0];
v = staticinvoke <java.nio.file.Paths: java.nio.file.Path get(java.lang.String,java.lang.String[])>(v, v);
v = staticinvoke <java.nio.file.Files: byte[] readAllBytes(java.nio.file.Path)>(v);
specialinvoke v.<java.lang.String: void <init>(byte[])>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
return v;
label:
return null;
}
public static java.security.KeyStore createTrustStore(java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException, java.security.cert.CertificateException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException
{
java.lang.Throwable v;
java.security.KeyStore v;
char[] v;
java.lang.String v, v, v, v;
java.io.InputStream v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.io.InputStream getInputStreamFromDataOrFile(java.lang.String,java.lang.String)>(v, v);
label:
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: char[] getTrustStorePassphrase(java.lang.String)>(v);
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.security.KeyStore createTrustStore(java.io.InputStream,java.lang.String,char[])>(v, v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
}
private static char[] getTrustStorePassphrase(java.lang.String)
{
char[] v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <io.fabric.kubernetes.clnt.v.utils.Utils: boolean isNullOrEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("javax.net.ssl.trustStorePassword", "changeit");
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
return v;
label:
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
return v;
}
public static java.security.KeyStore createTrustStore(java.io.InputStream, java.lang.String, char[]) throws java.io.IOException, java.security.cert.CertificateException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException
{
java.lang.Throwable v;
javax.security.auth.x.X500Principal v;
java.security.cert.CertificateFactory v;
int v;
java.math.BigInteger v;
java.lang.String v, v, v, v, v;
boolean v;
java.security.KeyStore v;
java.io.FileInputStream v;
java.security.cert.Certificate v;
char[] v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.lang.String;
v := @parameter: char[];
v = staticinvoke <java.security.KeyStore: java.lang.String getDefaultType()>();
v = staticinvoke <java.security.KeyStore: java.security.KeyStore getInstance(java.lang.String)>(v);
v = staticinvoke <io.fabric.kubernetes.clnt.v.utils.Utils: boolean isNotNullOrEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.lang.String)>(v);
label:
virtualinvoke v.<java.security.KeyStore: void load(java.io.InputStream,char[])>(v, v);
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: void loadDefaultTrustStoreFile(java.security.KeyStore,char[])>(v, v);
label:
v = virtualinvoke v.<java.io.InputStream: int available()>();
if v <= 0 goto label;
v = staticinvoke <java.security.cert.CertificateFactory: java.security.cert.CertificateFactory getInstance(java.lang.String)>("X509");
v = virtualinvoke v.<java.security.cert.CertificateFactory: java.security.cert.Certificate generateCertificate(java.io.InputStream)>(v);
v = virtualinvoke v.<java.security.cert.X509Certificate: javax.security.auth.x.X500Principal getSubjectX500Principal()>();
v = virtualinvoke v.<javax.security.auth.x.X500Principal: java.lang.String getName()>();
v = virtualinvoke v.<java.security.cert.X509Certificate: java.math.BigInteger getSerialNumber()>();
v = virtualinvoke v.<java.math.BigInteger: java.lang.String toString(int)>(16);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001_\u0001");
virtualinvoke v.<java.security.KeyStore: void setCertificateEntry(java.lang.String,java.security.cert.Certificate)>(v, v);
goto label;
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public static java.security.KeyStore createKeyStore(java.io.InputStream, java.io.InputStream, java.lang.String, char[], java.lang.String, char[]) throws java.io.IOException, java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.KeyStoreException
{
java.lang.Throwable v;
java.lang.Object[] v;
java.security.cert.CertificateFactory v;
java.util.function.Function v;
java.lang.String v, v, v;
java.util.stream.Collector v;
boolean v;
java.util.Collection v;
java.security.KeyStore v;
java.io.FileInputStream v;
java.util.stream.Stream v, v;
java.security.PrivateKey v;
char[] v, v;
java.lang.Object v;
java.security.cert.Certificate[] v;
java.io.InputStream v, v;
v := @parameter: java.io.InputStream;
v := @parameter: java.io.InputStream;
v := @parameter: java.lang.String;
v := @parameter: char[];
v := @parameter: java.lang.String;
v := @parameter: char[];
v = staticinvoke <java.security.cert.CertificateFactory: java.security.cert.CertificateFactory getInstance(java.lang.String)>("X509");
v = virtualinvoke v.<java.security.cert.CertificateFactory: java.util.Collection generateCertificates(java.io.InputStream)>(v);
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.security.PrivateKey loadKey(java.io.InputStream,java.lang.String)>(v, v);
v = staticinvoke <java.security.KeyStore: java.lang.String getDefaultType()>();
v = staticinvoke <java.security.KeyStore: java.security.KeyStore getInstance(java.lang.String)>(v);
v = staticinvoke <io.fabric.kubernetes.clnt.v.utils.Utils: boolean isNotNullOrEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.lang.String)>(v);
label:
virtualinvoke v.<java.security.KeyStore: void load(java.io.InputStream,char[])>(v, v);
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: void loadDefaultKeyStoreFile(java.security.KeyStore,char[])>(v, v);
label:
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils$lambda_createKeyStore_0__194: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector joining(java.lang.CharSequence)>("_");
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = newarray (java.security.cert.Certificate)[0];
v = interfaceinvoke v.<java.util.Collection: java.lang.Object[] toArray(java.lang.Object[])>(v);
virtualinvoke v.<java.security.KeyStore: void setKeyEntry(java.lang.String,java.security.Key,char[],java.security.cert.Certificate[])>(v, v, v, v);
return v;
catch java.lang.Throwable from label to label with label;
}
private static java.security.PrivateKey loadKey(java.io.InputStream, java.lang.String) throws java.io.IOException, java.security.spec.InvalidKeySpecException, java.security.NoSuchAlgorithmException
{
java.security.PrivateKey v, v;
java.security.spec.InvalidKeySpecException v;
java.lang.String v;
boolean v, v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.lang.String;
if v != null goto label;
v = "RSA";
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("EC");
if v == 0 goto label;
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.security.PrivateKey handleECKey(java.io.InputStream)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("RSA");
if v == 0 goto label;
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.security.PrivateKey handleOtherKeys(java.io.InputStream,java.lang.String)>(v, v);
return v;
label:
v = new java.security.spec.InvalidKeySpecException;
specialinvoke v.<java.security.spec.InvalidKeySpecException: void <init>(java.lang.String)>("Unknown type of PKCS8 Private Key, tried RSA and ECDSA");
throw v;
}
private static java.security.PrivateKey handleECKey(java.io.InputStream) throws java.io.IOException
{
io.fabric.kubernetes.clnt.v.KubernetesClientException v;
io.fabric.kubernetes.clnt.v.internal.CertUtils$1 v;
java.security.PrivateKey v;
java.lang.NoClassDefFoundError v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
label:
v = new io.fabric.kubernetes.clnt.v.internal.CertUtils$1;
specialinvoke v.<io.fabric.kubernetes.clnt.v.internal.CertUtils$1: void <init>(java.io.InputStream)>(v);
v = virtualinvoke v.<io.fabric.kubernetes.clnt.v.internal.CertUtils$1: java.security.PrivateKey call()>();
label:
return v;
label:
v := @caughtexception;
v = new io.fabric.kubernetes.clnt.v.KubernetesClientException;
specialinvoke v.<io.fabric.kubernetes.clnt.v.KubernetesClientException: void <init>(java.lang.String)>("JcaPEMKeyConverter is provided by BouncyCastle, an optional dependency. To use support for EC Keys you must explicitly add this dependency to classpath.");
throw v;
catch java.lang.NoClassDefFoundError from label to label with label;
}
private static java.security.PrivateKey handleOtherKeys(java.io.InputStream, java.lang.String) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
{
byte[] v;
java.security.spec.PKCS8EncodedKeySpec v;
java.security.spec.InvalidKeySpecException v;
java.security.spec.RSAPrivateCrtKeySpec v;
java.security.KeyFactory v;
java.security.PrivateKey v, v;
java.lang.String v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v := @parameter: java.lang.String;
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: byte[] decodePem(java.io.InputStream)>(v);
v = staticinvoke <java.security.KeyFactory: java.security.KeyFactory getInstance(java.lang.String)>(v);
label:
v = new java.security.spec.PKCS8EncodedKeySpec;
specialinvoke v.<java.security.spec.PKCS8EncodedKeySpec: void <init>(byte[])>(v);
v = virtualinvoke v.<java.security.KeyFactory: java.security.PrivateKey generatePrivate(java.security.spec.KeySpec)>(v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.PKCS1Util: java.security.spec.RSAPrivateCrtKeySpec decodePKCS1(byte[])>(v);
v = virtualinvoke v.<java.security.KeyFactory: java.security.PrivateKey generatePrivate(java.security.spec.KeySpec)>(v);
return v;
catch java.security.spec.InvalidKeySpecException from label to label with label;
}
private static void loadDefaultTrustStoreFile(java.security.KeyStore, char[]) throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.io.IOException
{
char[] v;
java.security.KeyStore v;
java.io.File v;
boolean v;
v := @parameter: java.security.KeyStore;
v := @parameter: char[];
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.io.File getDefaultTrustStoreFile()>();
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: boolean loadDefaultStoreFile(java.security.KeyStore,java.io.File,char[])>(v, v, v);
if v != 0 goto label;
virtualinvoke v.<java.security.KeyStore: void load(java.security.KeyStore$LoadStoreParameter)>(null);
label:
return;
}
private static java.io.File getDefaultTrustStoreFile()
{
java.io.File v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v, v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("java.home");
v = <java.io.File: java.lang.String separator>;
v = <java.io.File: java.lang.String separator>;
v = <java.io.File: java.lang.String separator>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001lib\u0001security\u0001");
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("javax.net.ssl.trustStore");
v = staticinvoke <io.fabric.kubernetes.clnt.v.utils.Utils: boolean isNotNullOrEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
return v;
label:
v = new java.io.File;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001jssecacerts");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean isFile()>();
if v == 0 goto label;
return v;
label:
v = new java.io.File;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001cacerts");
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
return v;
}
private static void loadDefaultKeyStoreFile(java.security.KeyStore, char[]) throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.io.IOException
{
char[] v;
java.security.KeyStore v;
java.lang.String v;
java.io.File v;
boolean v, v;
v := @parameter: java.security.KeyStore;
v := @parameter: char[];
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("javax.net.ssl.keyStore");
v = staticinvoke <io.fabric.kubernetes.clnt.v.utils.Utils: boolean isNotNullOrEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: boolean loadDefaultStoreFile(java.security.KeyStore,java.io.File,char[])>(v, v, v);
if v == 0 goto label;
return;
label:
virtualinvoke v.<java.security.KeyStore: void load(java.security.KeyStore$LoadStoreParameter)>(null);
return;
}
private static boolean loadDefaultStoreFile(java.security.KeyStore, java.io.File, char[]) throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.io.IOException
{
java.lang.Throwable v;
java.lang.Object[] v;
org.slf4j.Logger v;
java.security.KeyStore v;
long v;
java.io.FileInputStream v;
java.io.File v;
java.lang.Exception v;
byte v;
char[] v;
java.lang.String v, v, v;
boolean v, v;
v := @parameter: java.security.KeyStore;
v := @parameter: java.io.File;
v := @parameter: char[];
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean isFile()>();
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: long length()>();
v = v cmp 0L;
if v <= 0 goto label;
label:
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
virtualinvoke v.<java.security.KeyStore: void load(java.io.InputStream,char[])>(v, v);
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return 1;
label:
v := @caughtexception;
if v == null goto label;
v = staticinvoke <java.lang.String: java.lang.String valueOf(char[])>(v);
goto label;
label:
v = null;
label:
v = <io.fabric.kubernetes.clnt.v.internal.CertUtils: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("There is a problem with reading default keystore/truststore file %s with the passphrase %s - the file won\'t be loaded. The reason is: %s", v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
label:
return 0;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
public static java.security.KeyStore createKeyStore(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) throws java.io.IOException, java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException, java.security.KeyStoreException
{
java.lang.Throwable v, v;
java.security.KeyStore v;
char[] v, v;
java.lang.String v, v, v, v, v, v, v, v;
java.io.InputStream v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.io.InputStream getInputStreamFromDataOrFile(java.lang.String,java.lang.String)>(v, v);
label:
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.io.InputStream getInputStreamFromDataOrFile(java.lang.String,java.lang.String)>(v, v);
label:
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: char[] getKeyStorePassphrase(java.lang.String)>(v);
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: java.security.KeyStore createKeyStore(java.io.InputStream,java.io.InputStream,java.lang.String,char[],java.lang.String,char[])>(v, v, v, v, v, v);
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
label:
if v == null goto label;
virtualinvoke v.<java.io.InputStream: void close()>();
label:
return v;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private static char[] getKeyStorePassphrase(java.lang.String)
{
char[] v, v;
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = staticinvoke <io.fabric.kubernetes.clnt.v.utils.Utils: boolean isNullOrEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("javax.net.ssl.keyStorePassword", "changeit");
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
return v;
label:
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
return v;
}
private static byte[] decodePem(java.io.InputStream) throws java.io.IOException
{
java.lang.Throwable v;
byte[] v;
java.io.IOException v;
java.io.InputStreamReader v;
java.io.BufferedReader v;
java.lang.String v, v, v;
boolean v;
java.io.InputStream v;
v := @parameter: java.io.InputStream;
v = new java.io.BufferedReader;
v = new java.io.InputStreamReader;
specialinvoke v.<java.io.InputStreamReader: void <init>(java.io.InputStream)>(v);
specialinvoke v.<java.io.BufferedReader: void <init>(java.io.Reader)>(v);
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("-----BEGIN ");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("BEGIN", "END");
v = staticinvoke <io.fabric.kubernetes.clnt.v.internal.CertUtils: byte[] readBytes(java.io.BufferedReader,java.lang.String)>(v, v);
label:
virtualinvoke v.<java.io.BufferedReader: void close()>();
return v;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("PEM is invalid: no begin marker");
throw v;
label:
v := @caughtexception;
virtualinvoke v.<java.io.BufferedReader: void close()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
private static byte[] readBytes(java.io.BufferedReader, java.lang.String) throws java.io.IOException
{
byte[] v;
java.util.Base64$Decoder v;
java.io.IOException v;
java.lang.StringBuffer v;
int v, v;
java.io.BufferedReader v;
java.lang.String v, v, v, v;
v := @parameter: java.io.BufferedReader;
v := @parameter: java.lang.String;
v = new java.lang.StringBuffer;
specialinvoke v.<java.lang.StringBuffer: void <init>()>();
label:
v = virtualinvoke v.<java.io.BufferedReader: java.lang.String readLine()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>(v);
v = (int) -1;
if v == v goto label;
v = staticinvoke <java.util.Base64: java.util.Base64$Decoder getDecoder()>();
v = virtualinvoke v.<java.lang.StringBuffer: java.lang.String toString()>();
v = virtualinvoke v.<java.util.Base64$Decoder: byte[] decode(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
virtualinvoke v.<java.lang.StringBuffer: java.lang.StringBuffer append(java.lang.String)>(v);
goto label;
label:
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("PEM is invalid : No end marker");
throw v;
}
private static java.io.ByteArrayInputStream createInputStreamFromBase64EncodedString(java.lang.String)
{
byte[] v;
java.io.ByteArrayInputStream v;
java.util.Base64$Decoder v;
java.lang.String v;
java.lang.IllegalArgumentException v;
v := @parameter: java.lang.String;
label:
v = staticinvoke <java.util.Base64: java.util.Base64$Decoder getDecoder()>();
v = virtualinvoke v.<java.util.Base64$Decoder: byte[] decode(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
label:
v = new java.io.ByteArrayInputStream;
specialinvoke v.<java.io.ByteArrayInputStream: void <init>(byte[])>(v);
return v;
catch java.lang.IllegalArgumentException from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lio/fabric8/kubernetes/clnt/v5_11/internal/CertUtils;");
<io.fabric.kubernetes.clnt.v.internal.CertUtils: org.slf4j.Logger LOG> = v;
return;
}
}