public static DockerHost createDockerCertsForUbuntuServer(DockerHost dockerHost, Session session) {
if (dockerHost == null || (session == null && dockerHost.session == null)) {
throw new AzureDockerException("Unexpected param values; dockerHost, dockerHost name, dockerHost dns and login session cannot be null");
}
if (session == null) session = dockerHost.session;
//
try {
if (!session.isConnected()) session.connect();
String certCAPwd = new ResourceNamer("").randomName("", 15);
String createTLScerts = CREATE_OPENSSL_TLS_CERTS_FOR_UBUNTU;
createTLScerts = createTLScerts.replaceAll(CERT_CA_PWD_PARAM, certCAPwd);
createTLScerts = createTLScerts.replaceAll(HOSTNAME, dockerHost.hostVM.name);
createTLScerts = createTLScerts.replaceAll(FQDN_PARAM, dockerHost.hostVM.dnsName);
createTLScerts = createTLScerts.replaceAll(DOMAIN_PARAM, dockerHost.hostVM.dnsName.substring(dockerHost.hostVM.dnsName.indexOf('.')));
AzureDockerSSHOps.upload(session, (new ByteArrayInputStream(createTLScerts.replaceAll("&&", "\n").getBytes())), "CREATE_OPENSSL_TLS_CERTS_FOR_UBUNTU.sh", ".azuredocker", true, "4095");
if (DEBUG) System.out.println("Start executing Docker create TLS certs command");
String cmdOut1 = AzureDockerSSHOps.executeCommand("bash -c ~/.azuredocker/CREATE_OPENSSL_TLS_CERTS_FOR_UBUNTU.sh", session, true);
if (DEBUG) System.out.println(cmdOut1);
if (DEBUG) System.out.println("Done executing Docker create TLS certs command");
return dockerHost;
} catch (Exception e) {
throw new AzureDockerException(e.getMessage(), e);
}
}