aboutsummaryrefslogtreecommitdiff
path: root/src/share/classes/sun/security/x509
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/classes/sun/security/x509')
-rw-r--r--src/share/classes/sun/security/x509/KeyUsageExtension.java70
-rw-r--r--src/share/classes/sun/security/x509/NetscapeCertTypeExtension.java52
-rw-r--r--src/share/classes/sun/security/x509/ReasonFlags.java54
3 files changed, 100 insertions, 76 deletions
diff --git a/src/share/classes/sun/security/x509/KeyUsageExtension.java b/src/share/classes/sun/security/x509/KeyUsageExtension.java
index 0f1242d63..f02d8eeb6 100644
--- a/src/share/classes/sun/security/x509/KeyUsageExtension.java
+++ b/src/share/classes/sun/security/x509/KeyUsageExtension.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -83,7 +83,8 @@ implements CertAttrSet<String> {
* @param position the position in the bit string to check.
*/
private boolean isSet(int position) {
- return bitString[position];
+ return (position < bitString.length) &&
+ bitString[position];
}
/**
@@ -275,41 +276,40 @@ implements CertAttrSet<String> {
* Returns a printable representation of the KeyUsage.
*/
public String toString() {
- String s = super.toString() + "KeyUsage [\n";
+ StringBuilder sb = new StringBuilder();
+ sb.append(super.toString());
+ sb.append("KeyUsage [\n");
- try {
- if (isSet(0)) {
- s += " DigitalSignature\n";
- }
- if (isSet(1)) {
- s += " Non_repudiation\n";
- }
- if (isSet(2)) {
- s += " Key_Encipherment\n";
- }
- if (isSet(3)) {
- s += " Data_Encipherment\n";
- }
- if (isSet(4)) {
- s += " Key_Agreement\n";
- }
- if (isSet(5)) {
- s += " Key_CertSign\n";
- }
- if (isSet(6)) {
- s += " Crl_Sign\n";
- }
- if (isSet(7)) {
- s += " Encipher_Only\n";
- }
- if (isSet(8)) {
- s += " Decipher_Only\n";
- }
- } catch (ArrayIndexOutOfBoundsException ex) {}
-
- s += "]\n";
+ if (isSet(0)) {
+ sb.append(" DigitalSignature\n");
+ }
+ if (isSet(1)) {
+ sb.append(" Non_repudiation\n");
+ }
+ if (isSet(2)) {
+ sb.append(" Key_Encipherment\n");
+ }
+ if (isSet(3)) {
+ sb.append(" Data_Encipherment\n");
+ }
+ if (isSet(4)) {
+ sb.append(" Key_Agreement\n");
+ }
+ if (isSet(5)) {
+ sb.append(" Key_CertSign\n");
+ }
+ if (isSet(6)) {
+ sb.append(" Crl_Sign\n");
+ }
+ if (isSet(7)) {
+ sb.append(" Encipher_Only\n");
+ }
+ if (isSet(8)) {
+ sb.append(" Decipher_Only\n");
+ }
+ sb.append("]\n");
- return (s);
+ return sb.toString();
}
/**
diff --git a/src/share/classes/sun/security/x509/NetscapeCertTypeExtension.java b/src/share/classes/sun/security/x509/NetscapeCertTypeExtension.java
index d6d4efd34..735efddfc 100644
--- a/src/share/classes/sun/security/x509/NetscapeCertTypeExtension.java
+++ b/src/share/classes/sun/security/x509/NetscapeCertTypeExtension.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -136,7 +136,8 @@ implements CertAttrSet<String> {
* @param position the position in the bit string to check.
*/
private boolean isSet(int position) {
- return bitString[position];
+ return (position < bitString.length) &&
+ bitString[position];
}
/**
@@ -236,27 +237,34 @@ implements CertAttrSet<String> {
* Returns a printable representation of the NetscapeCertType.
*/
public String toString() {
- String s = super.toString() + "NetscapeCertType [\n";
+ StringBuilder sb = new StringBuilder();
+ sb.append(super.toString());
+ sb.append("NetscapeCertType [\n");
- try {
- if (isSet(getPosition(SSL_CLIENT)))
- s += " SSL client\n";
- if (isSet(getPosition(SSL_SERVER)))
- s += " SSL server\n";
- if (isSet(getPosition(S_MIME)))
- s += " S/MIME\n";
- if (isSet(getPosition(OBJECT_SIGNING)))
- s += " Object Signing\n";
- if (isSet(getPosition(SSL_CA)))
- s += " SSL CA\n";
- if (isSet(getPosition(S_MIME_CA)))
- s += " S/MIME CA\n";
- if (isSet(getPosition(OBJECT_SIGNING_CA)))
- s += " Object Signing CA" ;
- } catch (Exception e) { }
-
- s += "]\n";
- return (s);
+ if (isSet(0)) {
+ sb.append(" SSL client\n");
+ }
+ if (isSet(1)) {
+ sb.append(" SSL server\n");
+ }
+ if (isSet(2)) {
+ sb.append(" S/MIME\n");
+ }
+ if (isSet(3)) {
+ sb.append(" Object Signing\n");
+ }
+ if (isSet(5)) {
+ sb.append(" SSL CA\n");
+ }
+ if (isSet(6)) {
+ sb.append(" S/MIME CA\n");
+ }
+ if (isSet(7)) {
+ sb.append(" Object Signing CA");
+ }
+
+ sb.append("]\n");
+ return sb.toString();
}
/**
diff --git a/src/share/classes/sun/security/x509/ReasonFlags.java b/src/share/classes/sun/security/x509/ReasonFlags.java
index 4549ad454..6a4204620 100644
--- a/src/share/classes/sun/security/x509/ReasonFlags.java
+++ b/src/share/classes/sun/security/x509/ReasonFlags.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -99,7 +99,8 @@ public class ReasonFlags {
* @param position the position in the bit string to check.
*/
private boolean isSet(int position) {
- return bitString[position];
+ return (position < bitString.length) &&
+ bitString[position];
}
/**
@@ -199,23 +200,38 @@ public class ReasonFlags {
* Returns a printable representation of the ReasonFlags.
*/
public String toString() {
- String s = "Reason Flags [\n";
-
- try {
- if (isSet(0)) s += " Unused\n";
- if (isSet(1)) s += " Key Compromise\n";
- if (isSet(2)) s += " CA Compromise\n";
- if (isSet(3)) s += " Affiliation_Changed\n";
- if (isSet(4)) s += " Superseded\n";
- if (isSet(5)) s += " Cessation Of Operation\n";
- if (isSet(6)) s += " Certificate Hold\n";
- if (isSet(7)) s += " Privilege Withdrawn\n";
- if (isSet(8)) s += " AA Compromise\n";
- } catch (ArrayIndexOutOfBoundsException ex) {}
-
- s += "]\n";
-
- return (s);
+ StringBuilder sb = new StringBuilder("Reason Flags [\n");
+
+ if (isSet(0)) {
+ sb.append(" Unused\n");
+ }
+ if (isSet(1)) {
+ sb.append(" Key Compromise\n");
+ }
+ if (isSet(2)) {
+ sb.append(" CA Compromise\n");
+ }
+ if (isSet(3)) {
+ sb.append(" Affiliation_Changed\n");
+ }
+ if (isSet(4)) {
+ sb.append(" Superseded\n");
+ }
+ if (isSet(5)) {
+ sb.append(" Cessation Of Operation\n");
+ }
+ if (isSet(6)) {
+ sb.append(" Certificate Hold\n");
+ }
+ if (isSet(7)) {
+ sb.append(" Privilege Withdrawn\n");
+ }
+ if (isSet(8)) {
+ sb.append(" AA Compromise\n");
+ }
+ sb.append("]\n");
+
+ return sb.toString();
}
/**