summaryrefslogtreecommitdiffstats
path: root/pki/base/util/src/netscape/security/x509/GenericValueConverter.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/util/src/netscape/security/x509/GenericValueConverter.java')
-rw-r--r--pki/base/util/src/netscape/security/x509/GenericValueConverter.java143
1 files changed, 0 insertions, 143 deletions
diff --git a/pki/base/util/src/netscape/security/x509/GenericValueConverter.java b/pki/base/util/src/netscape/security/x509/GenericValueConverter.java
deleted file mode 100644
index 73bc1979c..000000000
--- a/pki/base/util/src/netscape/security/x509/GenericValueConverter.java
+++ /dev/null
@@ -1,143 +0,0 @@
-// --- BEGIN COPYRIGHT BLOCK ---
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; version 2 of the License.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-//
-// (C) 2007 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-package netscape.security.x509;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.CharsetEncoder;
-
-import netscape.security.util.ASN1CharStrConvMap;
-import netscape.security.util.DerValue;
-
-/**
- * A GenericValueConverter converts a string that is not associated with
- * a particular attribute to a DER encoded ASN.1 character string type.
- * Currently supports PrintableString, IA5String, BMPString T.61String and
- * Universal String.
- *
- * <p>
- * The conversion is done as follows. An encoder is obtained for the all the character sets from the global default
- * ASN1CharStrConvMap. The encoders are then used to convert the string to the smallest character set first --
- * printableString. If the string contains characters outside of that character set, it is converted to the next
- * character set -- IA5String character set. If that is not enough it is converted to a BMPString, then Universal String
- * which contains all characters.
- *
- * @author Lily Hsiao, Slava Galperin at Netscape Communications, Inc.
- *
- */
-
-public class GenericValueConverter implements AVAValueConverter {
- public GenericValueConverter() {
- }
-
- /**
- * Converts a string to a DER encoded ASN.1 primtable string, defined here
- * as a PrintableString, IA5String, T.61String, BMPString or
- * UniversalString. The string is not expected to be encoded in any form.
- *
- * <p>
- * If an encoder is not available for a character set that is needed to convert the string, the string cannot be
- * converted and an IOException is thrown. For example, if the string contains characters outside the
- * PrintableString character and only a PrintableString encoder is available then an IOException is thrown.
- *
- * @param s A string representing a generic attribute string value.
- *
- * @return The DER value of the attribute.
- *
- * @exception IOException if the string cannot be converted, such as
- * when an encoder needed is
- * unavailable.
- */
- public DerValue getValue(String s)
- throws IOException {
- return getValue(s, null);
- }
-
- public DerValue getValue(String valueString, byte[] tags) throws IOException {
- // try to convert to printable, then t61 the universal -
- // i.e. from minimal coverage to the broadest.
-
- if (tags == null || tags.length == 0)
- tags = DefEncodingTags;
-
- for (int i = 0; i < tags.length; i++) {
- try {
- CharsetEncoder encoder = ASN1CharStrConvMap.getDefault().getEncoder(tags[i]);
- if (encoder == null)
- continue;
-
- CharBuffer charBuffer = CharBuffer.wrap(valueString.toCharArray());
- ByteBuffer byteBuffer = encoder.encode(charBuffer);
-
- return new DerValue(tags[i], byteBuffer.array(), byteBuffer.arrayOffset(), byteBuffer.limit());
-
- } catch (CharacterCodingException e) {
- continue;
- }
- }
-
- throw new IOException(
- "Cannot convert the string value to a ASN.1 type");
- }
-
- /**
- * Creates a DerValue from the byte array of BER encoded value.
- *
- * NOTE: currently only supports DER encoding (a form of BER) on input .
- *
- * @param berStream Byte array of a BER encoded value.
- *
- * @return DerValue object.
- *
- * @exception IOException If the BER value cannot be converted to a
- * valid Directory String DER value.
- */
- public DerValue getValue(byte[] berByteStream)
- throws IOException {
- // accepts any tag.
- DerValue value = new DerValue(berByteStream);
- return value;
- }
-
- /**
- * Converts a DerValue of ASN1 Character string type to a java string
- * (the string is not encoded in any form).
- *
- * @param avaValue A DerValue
- * @return A string representing the attribute value.
- * @exception IOException if a decoder needed for the
- * conversion is not available or if BER value
- * is not one of the ASN1 character string types
- * here.
- */
- public String getAsString(DerValue avaValue)
- throws IOException {
- return avaValue.getASN1CharString();
- }
-
- private static byte DefEncodingTags[] = {
- DerValue.tag_PrintableString,
- DerValue.tag_IA5String,
- DerValue.tag_BMPString,
- DerValue.tag_UTF8String,
- DerValue.tag_T61String,
- DerValue.tag_UniversalString
- };
-}