IceSSL.Util Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ice Show documentation
Show all versions of ice 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);
}
}