diff options
Diffstat (limited to 'base/util/src/netscape/security/x509')
3 files changed, 29 insertions, 9 deletions
diff --git a/base/util/src/netscape/security/x509/CRLDistributionPoint.java b/base/util/src/netscape/security/x509/CRLDistributionPoint.java index 435392de7..637ee57fe 100644 --- a/base/util/src/netscape/security/x509/CRLDistributionPoint.java +++ b/base/util/src/netscape/security/x509/CRLDistributionPoint.java @@ -251,7 +251,7 @@ public class CRLDistributionPoint implements ASN1Value { return templateInstance; } - public static void main(String args[]) { + public static void main(String args[]) throws Exception { ByteArrayOutputStream bos = null; FileOutputStream fos = null; try { @@ -339,13 +339,13 @@ public class CRLDistributionPoint implements ASN1Value { } catch (Exception e) { e.printStackTrace(); + throw e; } finally { if (bos != null) { - try { - bos.close(); - } catch (IOException e) { - e.printStackTrace(); - } + bos.close(); + } + if (fos != null) { + fos.close(); } if (fos != null) { try { diff --git a/base/util/src/netscape/security/x509/X509CertImpl.java b/base/util/src/netscape/security/x509/X509CertImpl.java index 05de623ce..b6d97da38 100755 --- a/base/util/src/netscape/security/x509/X509CertImpl.java +++ b/base/util/src/netscape/security/x509/X509CertImpl.java @@ -976,6 +976,7 @@ public class X509CertImpl extends X509Certificate * @param oid the Object Identifier value for the extension. */ public byte[] getExtensionValue(String oid) { + DerOutputStream out = null; try { String extAlias = OIDMap.getName(new ObjectIdentifier(oid)); Extension certExt = null; @@ -1008,11 +1009,19 @@ public class X509CertImpl extends X509Certificate if (extData == null) return null; - DerOutputStream out = new DerOutputStream(); + out = new DerOutputStream(); out.putOctetString(extData); return out.toByteArray(); } catch (Exception e) { return null; + } finally { + if (out != null) { + try { + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } } diff --git a/base/util/src/netscape/security/x509/X509CertInfo.java b/base/util/src/netscape/security/x509/X509CertInfo.java index 0c44e2c92..6ad4d243f 100644 --- a/base/util/src/netscape/security/x509/X509CertInfo.java +++ b/base/util/src/netscape/security/x509/X509CertInfo.java @@ -352,12 +352,13 @@ public class X509CertInfo implements CertAttrSet, Serializable { for (int i = 0; i < extensions.size(); i++) { sb.append(" Extension[" + i + "] = "); Extension ext = extensions.elementAt(i); + DerOutputStream out = null; try { if (OIDMap.getClass(ext.getExtensionId()) == null) { sb.append(ext.toString()); byte[] extValue = ext.getExtensionValue(); if (extValue != null) { - DerOutputStream out = new DerOutputStream(); + out = new DerOutputStream(); out.putOctetString(extValue); extValue = out.toByteArray(); String extValuebits = pp.toHexString(extValue); @@ -367,8 +368,18 @@ public class X509CertInfo implements CertAttrSet, Serializable { } } else sb.append(ext.toString()); //sub-class exists - } catch (Exception e) { + } catch (CertificateException e) { sb.append(", Error parsing this extension"); + } catch (IOException e) { + sb.append(", Error parsing this extension"); + } finally { + if (out != null) { + try { + out.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } } } |