summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-03-24 02:27:47 -0500
committerEndi Sukma Dewata <edewata@redhat.com>2012-03-26 11:43:54 -0500
commit621d9e5c413e561293d7484b93882d985b3fe15f (patch)
tree638f3d75761c121d9a8fb50b52a12a6686c5ac5c /pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java
parent40d3643b8d91886bf210aa27f711731c81a11e49 (diff)
downloadpki-621d9e5c413e561293d7484b93882d985b3fe15f.tar.gz
pki-621d9e5c413e561293d7484b93882d985b3fe15f.tar.xz
pki-621d9e5c413e561293d7484b93882d985b3fe15f.zip
Removed unnecessary pki folder.
Previously the source code was located inside a pki folder. This folder was created during svn migration and is no longer needed. This folder has now been removed and the contents have been moved up one level. Ticket #131
Diffstat (limited to 'pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java')
-rw-r--r--pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java717
1 files changed, 0 insertions, 717 deletions
diff --git a/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java b/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java
deleted file mode 100644
index 62b5971a4..000000000
--- a/pki/base/common/src/com/netscape/cmscore/base/ArgBlock.java
+++ /dev/null
@@ -1,717 +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.cmscore.base;
-
-import java.io.IOException;
-import java.math.BigInteger;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.SignatureException;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.StringTokenizer;
-
-import netscape.security.pkcs.PKCS10;
-
-import com.netscape.certsrv.apps.CMS;
-import com.netscape.certsrv.base.EBaseException;
-import com.netscape.certsrv.base.IArgBlock;
-import com.netscape.certsrv.base.KeyGenInfo;
-import com.netscape.cmsutil.util.Utils;
-
-/**
- * This class represents a set of indexed arguments.
- * Each argument is indexed by a key, which can be
- * used during the argument retrieval.
- *
- * @version $Revision$, $Date$
- */
-public class ArgBlock implements IArgBlock {
-
- /**
- *
- */
- private static final long serialVersionUID = -6054531129316353282L;
- /*==========================================================
- * variables
- *==========================================================*/
- public static final String CERT_NEW_REQUEST_HEADER = "-----BEGIN NEW CERTIFICATE REQUEST-----";
- public static final String CERT_NEW_REQUEST_TRAILER = "-----END NEW CERTIFICATE REQUEST-----";
- public static final String CERT_REQUEST_HEADER = "-----BEGIN CERTIFICATE REQUEST-----";
- public static final String CERT_REQUEST_TRAILER = "-----END CERTIFICATE REQUEST-----";
- public static final String CERT_RENEWAL_HEADER = "-----BEGIN RENEWAL CERTIFICATE REQUEST-----";
- public static final String CERT_RENEWAL_TRAILER = "-----END RENEWAL CERTIFICATE REQUEST-----";
-
- private Hashtable<String, Object> mArgs = new Hashtable<String, Object>();
-
- private String mType = "unspecified-argblock";
-
- /*==========================================================
- * constructors
- *==========================================================*/
- /**
- * Constructs an argument block with the given hashtable values.
- *
- * @param realm the type of argblock - used for debugging the values
- */
- public ArgBlock(String realm, Hashtable<String, String> httpReq) {
- mType = realm;
- populate(httpReq);
- }
-
- /**
- * Constructs an argument block with the given hashtable values.
- *
- * @param httpReq hashtable keys and values
- */
- public ArgBlock(Hashtable<String, String> httpReq) {
- populate(httpReq);
- }
-
- private void populate(Hashtable<String, String> httpReq) {
- // Add all parameters from the request
- Enumeration<String> e = httpReq.keys();
-
- if (e != null) {
- while (e.hasMoreElements()) {
- String name = e.nextElement();
- String value = httpReq.get(name);
-
- addStringValue(name, value);
- }
- }
- }
-
- /**
- * Constructs an empty argument block.
- */
- public ArgBlock() {
- }
-
- /*==========================================================
- * public methods
- *==========================================================*/
-
- /**
- * Checks if this argument block contains the given key.
- *
- * @param n key
- * @return true if key is present
- */
- public boolean isValuePresent(String n) {
- CMS.traceHashKey(mType, n);
- if (mArgs.get(n) != null) {
- return true;
- } else {
- return false;
- }
- }
-
- /**
- * Adds string-based value into this argument block.
- *
- * @param n key
- * @param v value
- * @return value
- */
- public Object addStringValue(String n, String v) {
- if (v == null) {
- return mArgs.put(n, Character.valueOf((char) 0));
- } else {
- return mArgs.put(n, v);
- }
- }
-
- /**
- * Retrieves argument value as string.
- *
- * @param n key
- * @return argument value as string
- * @exception EBaseException failed to retrieve value
- */
- public String getValueAsString(String n) throws EBaseException {
- String t = (String) mArgs.get(n);
- CMS.traceHashKey(mType, n, t);
-
- if (t != null) {
- return t;
- } else {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", n));
- }
- }
-
- /**
- * Retrieves argument value as string.
- *
- * @param n key
- * @param def default value to be returned if key is not present
- * @return argument value as string
- */
- public String getValueAsString(String n, String def) {
- String val = (String) mArgs.get(n);
- CMS.traceHashKey(mType, n, val, def);
-
- if (val != null) {
- return val;
- } else {
- return def;
- }
- }
-
- /**
- * Retrieves argument value as integer.
- *
- * @param n key
- * @return argument value as int
- * @exception EBaseException failed to retrieve value
- */
- public int getValueAsInt(String n) throws EBaseException {
- if (mArgs.get(n) != null) {
- CMS.traceHashKey(mType, n, (String) mArgs.get(n));
- try {
- return new Integer((String) mArgs.get(n)).intValue();
- } catch (NumberFormatException e) {
- throw new EBaseException(
- CMS.getUserMessage("CMS_BASE_INVALID_ATTR_TYPE", n, e.toString()));
- }
- } else {
- CMS.traceHashKey(mType, n, "<notpresent>");
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", n));
- }
- }
-
- /**
- * Retrieves argument value as integer.
- *
- * @param n key
- * @param def default value to be returned if key is not present
- * @return argument value as int
- */
- public int getValueAsInt(String n, int def) {
- CMS.traceHashKey(mType, n, (String) mArgs.get(n), "" + def);
- if (mArgs.get(n) != null) {
- try {
- return new Integer((String) mArgs.get(n)).intValue();
- } catch (NumberFormatException e) {
- return def;
- }
- } else {
- return def;
- }
- }
-
- /**
- * Retrieves argument value as big integer.
- *
- * @param n key
- * @return argument value as big integer
- * @exception EBaseException failed to retrieve value
- */
- public BigInteger getValueAsBigInteger(String n)
- throws EBaseException {
- String v = (String) mArgs.get(n);
-
- if (v != null) {
- try {
- return new BigInteger(v, 10);
- } catch (NumberFormatException e) {
- try {
- return new BigInteger(v, 16);
- } catch (NumberFormatException ex) {
- throw new EBaseException(
- CMS.getUserMessage("CMS_BASE_INVALID_ATTR_TYPE", n, ex.toString()));
- }
- }
- } else {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", n));
- }
- }
-
- /**
- * Retrieves argument value as big integer.
- *
- * @param n key
- * @param def default value to be returned if key is not present
- * @return argument value as big integer
- */
- public BigInteger getValueAsBigInteger(String n, BigInteger def) {
- try {
- return getValueAsBigInteger(n);
- } catch (EBaseException e) {
- return def;
- }
- }
-
- /**
- * Retrieves argument value as object
- *
- * @param n key
- * @return argument value as object
- * @exception EBaseException failed to retrieve value
- */
- public Object getValue(Object n) throws EBaseException {
- if (mArgs.get(n) != null) {
- return mArgs.get(n);
- } else {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", (String) n));
- }
- }
-
- /**
- * Retrieves argument value as object
- *
- * @param n key
- * @param def default value to be returned if key is not present
- * @return argument value as object
- */
- public Object getValue(Object n, Object def) {
- if (mArgs.get(n) != null) {
- return mArgs.get(n);
- } else {
- return def;
- }
- }
-
- /**
- * Gets boolean value. They should be "true" or "false".
- *
- * @param name name of the input type
- * @return boolean type: <code>true</code> or <code>false</code>
- * @exception EBaseException failed to retrieve value
- */
- public boolean getValueAsBoolean(String name) throws EBaseException {
- String val = (String) mArgs.get(name);
- CMS.traceHashKey(mType, name, val);
-
- if (val != null) {
- if (val.equalsIgnoreCase("true") ||
- val.equalsIgnoreCase("on"))
- return true;
- else
- return false;
- } else {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", name));
- }
- }
-
- /**
- * Gets boolean value. They should be "true" or "false".
- *
- * @param name name of the input type
- * @return boolean type: <code>true</code> or <code>false</code>
- */
- public boolean getValueAsBoolean(String name, boolean def) {
- boolean val;
-
- try {
- val = getValueAsBoolean(name);
- return val;
- } catch (EBaseException e) {
- return def;
- }
- }
-
- /**
- * Gets KeyGenInfo
- *
- * @param name name of the input type
- * @param verify true if signature validation is required
- * @exception EBaseException
- * @return KeyGenInfo object
- */
- public KeyGenInfo getValueAsKeyGenInfo(String name, KeyGenInfo def)
- throws EBaseException {
- KeyGenInfo keyGenInfo;
-
- CMS.traceHashKey(mType, name);
- if (mArgs.get(name) != null) {
- try {
- keyGenInfo = new KeyGenInfo((String) mArgs.get(name));
- } catch (IOException e) {
- return def;
- }
-
- } else {
- return def;
- }
- return keyGenInfo;
- }
-
- /**
- * Gets PKCS10 request. This pkcs10 attribute does not
- * contain header information.
- *
- * @param name name of the input type
- * @return pkcs10 request
- * @exception EBaseException failed to retrieve value
- */
- public PKCS10 getValueAsRawPKCS10(String name) throws EBaseException {
- PKCS10 request;
-
- if (mArgs.get(name) != null) {
- CMS.traceHashKey(mType, name, (String) mArgs.get(name));
-
- String tempStr = unwrap((String) mArgs.get(name), false);
-
- if (tempStr == null) {
- throw new EBaseException(
- CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, "Empty Content"));
- }
- try {
- request = decodePKCS10(tempStr);
- } catch (Exception e) {
- throw new EBaseException(
- CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, e.toString()));
- }
- } else {
- CMS.traceHashKey(mType, name, "<notpresent>");
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", name));
- }
-
- return request;
- }
-
- /**
- * Gets PKCS10 request. This pkcs10 attribute does not
- * contain header information.
- *
- * @param name name of the input type
- * @param def default PKCS10
- * @return pkcs10 request
- * @exception EBaseException failed to retrieve value
- */
- public PKCS10 getValueAsRawPKCS10(String name, PKCS10 def)
- throws EBaseException {
- PKCS10 request;
-
- CMS.traceHashKey(mType, name);
- if (mArgs.get(name) != null) {
-
- String tempStr = unwrap((String) mArgs.get(name), false);
-
- if (tempStr == null) {
- return def;
- }
- try {
- request = decodePKCS10(tempStr);
- } catch (Exception e) {
- return def;
- }
- } else {
- return def;
- }
- return request;
- }
-
- /**
- * Retrieves PKCS10
- *
- * @param name name of the input type
- * @param checkheader true if header must be present
- * @return PKCS10 object
- * @exception EBaseException failed to retrieve value
- */
- public PKCS10 getValueAsPKCS10(String name, boolean checkheader)
- throws EBaseException {
- PKCS10 request;
-
- CMS.traceHashKey(mType, name);
- if (mArgs.get(name) != null) {
-
- String tempStr = unwrap((String) mArgs.get(name), checkheader);
-
- if (tempStr == null) {
- throw new EBaseException(
- CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, "Empty Content"));
- }
- try {
- request = decodePKCS10(tempStr);
- } catch (Exception e) {
- throw new EBaseException(
- CMS.getUserMessage("CMS_BASE_INVALID_ATTR_VALUE", name, e.toString()));
- }
- } else {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_ATTRIBUTE_NOT_FOUND", name));
- }
-
- return request;
- }
-
- /**
- * Retrieves PKCS10
- *
- * @param name name of the input type
- * @param checkheader true if header must be present
- * @param def default PKCS10
- * @return PKCS10 object
- * @exception EBaseException
- */
- public PKCS10 getValueAsPKCS10(
- String name, boolean checkheader, PKCS10 def)
- throws EBaseException {
- PKCS10 request;
-
- CMS.traceHashKey(mType, name);
-
- if (mArgs.get(name) != null) {
-
- String tempStr = unwrap((String) mArgs.get(name), checkheader);
-
- if (tempStr == null) {
- return def;
- }
- try {
- request = decodePKCS10(tempStr);
- } catch (Exception e) {
- return def;
- }
- } else {
- return def;
- }
-
- return request;
- }
-
- /**
- * Retrieves PKCS10
- *
- * @param name name of the input type
- * @param def default PKCS10
- * @return PKCS10 object
- * @exception EBaseException
- */
- public PKCS10 getValuePKCS10(String name, PKCS10 def)
- throws EBaseException {
- PKCS10 request;
- String p10b64 = (String) mArgs.get(name);
- CMS.traceHashKey(mType, name);
-
- if (p10b64 != null) {
-
- try {
- request = decodePKCS10(p10b64);
- return request;
- } catch (Exception e) {
- return def;
- }
- } else {
- return def;
- }
- }
-
- /**
- * Sets argument into this block.
- *
- * @param name key
- * @param ob value
- */
- public void set(String name, Object ob) {
- mArgs.put(name, ob);
- }
-
- /**
- * Retrieves argument.
- *
- * @param name key
- * @return object value
- */
- public Object get(String name) {
- CMS.traceHashKey(mType, name);
- return mArgs.get(name);
- }
-
- /**
- * Deletes argument by the given key.
- *
- * @param name key
- */
- public void delete(String name) {
- mArgs.remove(name);
- }
-
- /**
- * Retrieves a list of argument keys.
- *
- * @return a list of string-based keys
- */
- public Enumeration<String> getElements() {
- return mArgs.keys();
- }
-
- /**
- * Retrieves a list of argument keys.
- *
- * @return a list of string-based keys
- */
- public Enumeration<String> elements() {
- return mArgs.keys();
- }
-
- /**
- * Adds long-type arguments to this block.
- *
- * @param n key
- * @param v value
- * @return value
- */
- public Object addLongValue(String n, long v) {
- return mArgs.put(n, Long.valueOf(v));
- }
-
- /**
- * Adds integer-type arguments to this block.
- *
- * @param n key
- * @param v value
- * @return value
- */
- public Object addIntegerValue(String n, int v) {
- return mArgs.put(n, Integer.valueOf(v));
- }
-
- /**
- * Adds boolean-type arguments to this block.
- *
- * @param n key
- * @param v value
- * @return value
- */
- public Object addBooleanValue(String n, boolean v) {
- if (v) {
- return mArgs.put(n, new Boolean("true"));
- } else {
- return mArgs.put(n, new Boolean("false"));
- }
- }
-
- /**
- * Adds integer-type arguments to this block.
- *
- * @param n key
- * @param v value
- * @param radix radix
- * @return value
- */
- public Object addBigIntegerValue(String n, BigInteger v, int radix) {
- return mArgs.put(n, v.toString(radix));
- }
-
- /*==========================================================
- * private methods
- *==========================================================*/
-
- /**
- * Unwrap PKCS10 Package
- *
- * @param request string formated PKCS10 request
- * @exception EBaseException
- * @return Base64Encoded PKCS10 request
- */
- private String unwrap(String request, boolean checkHeader)
- throws EBaseException {
- String unwrapped;
- String header = null;
- int head = -1;
- int trail = -1;
-
- // check for "-----BEGIN NEW CERTIFICATE REQUEST-----";
- if (header == null) {
- head = request.indexOf(CERT_NEW_REQUEST_HEADER);
- trail = request.indexOf(CERT_NEW_REQUEST_TRAILER);
-
- if (!(head == -1 && trail == -1)) {
- header = CERT_NEW_REQUEST_HEADER;
- }
- }
-
- // check for "-----BEGIN CERTIFICATE REQUEST-----";
- if (header == null) {
- head = request.indexOf(CERT_REQUEST_HEADER);
- trail = request.indexOf(CERT_REQUEST_TRAILER);
-
- // If this is not a request header, check if this is a renewal
- // header.
- if (!(head == -1 && trail == -1)) {
- header = CERT_REQUEST_HEADER;
-
- }
- }
-
- // check for "-----BEGIN RENEWAL CERTIFICATE REQUEST-----";
- if (header == null) {
- head = request.indexOf(CERT_RENEWAL_HEADER);
- trail = request.indexOf(CERT_RENEWAL_TRAILER);
- if (!(head == -1 && trail == -1)) {
- header = CERT_RENEWAL_HEADER;
- }
- }
-
- // Now validate if any headers or trailers are in place
- if (head == -1 && checkHeader) {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_MISSING_PKCS10_HEADER"));
- }
- if (trail == -1 && checkHeader) {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_MISSING_PKCS10_TRAILER"));
- }
-
- if (header != null) {
- unwrapped = request.substring(head + header.length(), trail);
- } else {
- unwrapped = request;
- }
-
- // strip all the crtl-characters (i.e. \r\n)
- StringTokenizer st = new StringTokenizer(unwrapped, "\t\r\n ");
- StringBuffer stripped = new StringBuffer();
-
- while (st.hasMoreTokens()) {
- stripped.append(st.nextToken());
- }
-
- return stripped.toString();
- }
-
- /**
- * Decode Der encoded PKCS10 certifictae Request
- *
- * @param base64Request Base64 Encoded Certificate Request
- * @exception Exception
- * @return PKCS10
- */
- private PKCS10 decodePKCS10(String base64Request)
- throws EBaseException {
- PKCS10 pkcs10 = null;
-
- try {
- byte[] decodedBytes = Utils.base64decode(base64Request);
-
- pkcs10 = new PKCS10(decodedBytes);
- } catch (NoSuchProviderException e) {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString()));
- } catch (IOException e) {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString()));
- } catch (SignatureException e) {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString()));
- } catch (NoSuchAlgorithmException e) {
- throw new EBaseException(CMS.getUserMessage("CMS_BASE_INTERNAL_ERROR", e.toString()));
- }
-
- return pkcs10;
- }
-
-}