01: /*
02: jGuard is a security framework based on top of jaas (java authentication and authorization security).
03: it is written for web applications, to resolve simply, access control problems.
04: version $Name$
05: http://sourceforge.net/projects/jguard/
06:
07: Copyright (C) 2004 Charles GAY
08:
09: This library is free software; you can redistribute it and/or
10: modify it under the terms of the GNU Lesser General Public
11: License as published by the Free Software Foundation; either
12: version 2.1 of the License, or (at your option) any later version.
13:
14: This library is distributed in the hope that it will be useful,
15: but WITHOUT ANY WARRANTY; without even the implied warranty of
16: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17: Lesser General Public License for more details.
18:
19: You should have received a copy of the GNU Lesser General Public
20: License along with this library; if not, write to the Free Software
21: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22:
23:
24: jGuard project home page:
25: http://sourceforge.net/projects/jguard/
26:
27: */
28: package net.sf.jguard.ext.authentication.certificates;
29:
30: import java.io.ByteArrayInputStream;
31:
32: /**
33: *
34: * Class inspired from <a href="http://javaalmanac.com/egs/javax.security.cert/ConvertCert.html">a javaalmanach example</a>.
35: * @author <a href="mailto:diabolo512@users.sourceforge.net ">Charles Gay</a>
36: *
37: */
38: public class CertificateConverter {
39: private static final String X_509 = "X.509";
40:
41: /**
42: * convert a jav<b>ax</b>.security.cert.X509Certificate to a jav<b>a</b>.security.cert.X509Certificate.
43: * @param cert
44: * @return X509Certificate
45: */
46: public static java.security.cert.X509Certificate convertOldToNew(
47: javax.security.cert.X509Certificate cert) {
48: try {
49: byte[] encoded = cert.getEncoded();
50: ByteArrayInputStream bis = new ByteArrayInputStream(encoded);
51: java.security.cert.CertificateFactory cf = java.security.cert.CertificateFactory
52: .getInstance(CertificateConverter.X_509);
53: return (java.security.cert.X509Certificate) cf
54: .generateCertificate(bis);
55: } catch (java.security.cert.CertificateEncodingException e) {
56: } catch (javax.security.cert.CertificateEncodingException e) {
57: } catch (java.security.cert.CertificateException e) {
58: }
59: return null;
60: }
61:
62: /**
63: * convert a <code>java.security.cert.X509Certificate</code> to a <code>javax.security.cert.X509Certificate</code>.
64: * @param cert
65: * @return X509Certificate
66: */
67: public static javax.security.cert.X509Certificate convertNewToOld(
68: java.security.cert.X509Certificate cert) {
69: try {
70: byte[] encoded = cert.getEncoded();
71: return javax.security.cert.X509Certificate
72: .getInstance(encoded);
73: } catch (java.security.cert.CertificateEncodingException e) {
74: } catch (javax.security.cert.CertificateEncodingException e) {
75: } catch (javax.security.cert.CertificateException e) {
76: }
77: return null;
78: }
79:
80: }
|