diff options
author | Endi S. Dewata <edewata@redhat.com> | 2013-10-07 11:48:54 -0400 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2013-10-25 17:17:39 -0400 |
commit | 2119f1b218e9d68b13496e7042785d9c68753966 (patch) | |
tree | b8c7cf5692723340d8d56e5d8c401acdee059ca5 /base/common/src/com/netscape/cms/servlet/cert/scep/ExtensionsRequested.java | |
parent | 7ca5adf1bd5bc4f9a7c5f2035426b9158007bb28 (diff) | |
download | pki-2119f1b218e9d68b13496e7042785d9c68753966.tar.gz pki-2119f1b218e9d68b13496e7042785d9c68753966.tar.xz pki-2119f1b218e9d68b13496e7042785d9c68753966.zip |
Reorganized server packages.
The tomcat, cms, and cmscore packages have been moved from base/common
into separate folders in base/server so that they can be built separately.
Diffstat (limited to 'base/common/src/com/netscape/cms/servlet/cert/scep/ExtensionsRequested.java')
-rw-r--r-- | base/common/src/com/netscape/cms/servlet/cert/scep/ExtensionsRequested.java | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/base/common/src/com/netscape/cms/servlet/cert/scep/ExtensionsRequested.java b/base/common/src/com/netscape/cms/servlet/cert/scep/ExtensionsRequested.java deleted file mode 100644 index 3cb88f3f8..000000000 --- a/base/common/src/com/netscape/cms/servlet/cert/scep/ExtensionsRequested.java +++ /dev/null @@ -1,176 +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 com.netscape.cms.servlet.cert.scep; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.security.cert.CertificateException; -import java.util.Enumeration; -import java.util.Vector; - -import netscape.security.util.DerInputStream; -import netscape.security.util.DerValue; -import netscape.security.x509.CertAttrSet; -import netscape.security.x509.Extension; - -public class ExtensionsRequested implements CertAttrSet { - - public static final String NAME = "EXTENSIONS_REQUESTED"; - - public static final String KUE_DIGITAL_SIGNATURE = "kue_digital_signature"; - public static final String KUE_KEY_ENCIPHERMENT = "kue_key_encipherment"; - - private String kue_digital_signature = "false"; - private String kue_key_encipherment = "false"; - - private Vector<Extension> exts = new Vector<Extension>(); - - public ExtensionsRequested(Object stuff) throws IOException { - ByteArrayInputStream is = new ByteArrayInputStream((byte[]) stuff); - - try { - decode(is); - } catch (Exception e) { - e.printStackTrace(); - throw new IOException(e.getMessage()); - } - } - - public void encode(OutputStream out) - throws CertificateException, IOException { - } - - public void decode(InputStream in) - throws CertificateException, IOException { - DerValue derVal = new DerValue(in); - - construct(derVal); - } - - public void set(String name, Object obj) - throws CertificateException, IOException { - } - - public Object get(String name) - throws CertificateException, IOException { - if (name.equalsIgnoreCase(KUE_DIGITAL_SIGNATURE)) { - return kue_digital_signature; - } - if (name.equalsIgnoreCase(KUE_KEY_ENCIPHERMENT)) { - return kue_key_encipherment; - } - - throw new IOException("Unsupported attribute queried"); - } - - public void delete(String name) - throws CertificateException, IOException { - } - - public Enumeration<String> getAttributeNames() { - return (new Vector<String>()).elements(); - } - - public String getName() { - return NAME; - } - - /** - * construct - expects this in the inputstream (from the router): - * - * 211 30 31: SEQUENCE { - * 213 06 10: OBJECT IDENTIFIER '2 16 840 1 113733 1 9 8' - * 225 31 17: SET { - * 227 04 15: OCTET STRING, encapsulates { - * 229 30 13: SEQUENCE { - * 231 30 11: SEQUENCE { - * 233 06 3: OBJECT IDENTIFIER keyUsage (2 5 29 15) - * 238 04 4: OCTET STRING - * : 03 02 05 A0 - * : } - * : } - * : } - * - * or this (from IRE client): - * - * 262 30 51: SEQUENCE { - * 264 06 9: OBJECT IDENTIFIER extensionReq (1 2 840 113549 1 9 14) - * 275 31 38: SET { - * 277 30 36: SEQUENCE { - * 279 30 34: SEQUENCE { - * 281 06 3: OBJECT IDENTIFIER subjectAltName (2 5 29 17) - * 286 04 27: OCTET STRING - * : 30 19 87 04 D0 0C 3E 6F 81 03 61 61 61 82 0C 61 - * : 61 61 2E 6D 63 6F 6D 2E 63 6F 6D - * : } - * : } - * : } - * : } - */ - private void construct(DerValue dv) throws IOException { - - DerInputStream stream = null; - - try { // try decoding as sequence first - - stream = dv.toDerInputStream(); - - stream.getDerValue(); // consume stream - stream.reset(); - - stream.getSequence(2); // consume stream - } catch (IOException ioe) { - // if it failed, the outer sequence may be - // encapsulated in an octet string, as in the first - // example above - - byte[] octet_string = dv.getOctetString(); - - // Make a new input stream from the byte array, - // and re-parse it as a sequence. - - dv = new DerValue(octet_string); - - stream = dv.toDerInputStream(); - stream.getSequence(2); // consume stream - } - - // now, the stream will be in the correct format - stream.reset(); - - while (true) { - DerValue ext_dv = null; - try { - ext_dv = stream.getDerValue(); - } catch (IOException ex) { - break; - } - - Extension ext = new Extension(ext_dv); - exts.addElement(ext); - } - - } - - public Vector<Extension> getExtensions() { - return exts; - } - -} |