IceSSL.Util Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ice-compat Show documentation
Show all versions of ice-compat Show documentation
Ice is a comprehensive RPC framework that helps you build distributed applications with minimal effort using familiar object-oriented idioms
// **********************************************************************
//
// Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
package IceSSL;
public final class Util
{
//
// Create a certificate from a PEM-encoded string.
//
public static java.security.cert.X509Certificate
createCertificate(String certPEM)
throws java.security.cert.CertificateException
{
final String header = "-----BEGIN CERTIFICATE-----";
final String footer = "-----END CERTIFICATE-----";
//
// The generateCertificate method requires that its input begin
// with the PEM header.
//
int pos = certPEM.indexOf(header);
if(pos == -1)
{
certPEM = header + "\n" + certPEM;
}
else if(pos > 0)
{
certPEM = certPEM.substring(pos);
}
//
// Add the footer if necessary.
//
if(certPEM.indexOf(footer) == -1)
{
certPEM = certPEM + footer;
}
byte[] bytes = null;
try
{
bytes = certPEM.getBytes("UTF8");
}
catch(java.io.UnsupportedEncodingException ex)
{
assert(false);
return null;
}
java.io.ByteArrayInputStream in = new java.io.ByteArrayInputStream(bytes);
java.security.cert.CertificateFactory cf = java.security.cert.CertificateFactory.getInstance("X.509");
return (java.security.cert.X509Certificate)cf.generateCertificate(in);
}
public final static String jdkTarget = "1.5";
//
// Needed by the test scripts to determine the JDK target of the SSL plug-in.
//
public static void
main(String[] args)
{
System.out.println(jdkTarget);
}
}