diff options
Diffstat (limited to 'pki/base/common/src/com/netscape/certsrv/authentication/AuthToken.java')
-rw-r--r-- | pki/base/common/src/com/netscape/certsrv/authentication/AuthToken.java | 451 |
1 files changed, 0 insertions, 451 deletions
diff --git a/pki/base/common/src/com/netscape/certsrv/authentication/AuthToken.java b/pki/base/common/src/com/netscape/certsrv/authentication/AuthToken.java deleted file mode 100644 index 0a2b1f0a2..000000000 --- a/pki/base/common/src/com/netscape/certsrv/authentication/AuthToken.java +++ /dev/null @@ -1,451 +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.certsrv.authentication; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.security.cert.CertificateEncodingException; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; -import java.util.Date; -import java.util.Enumeration; -import java.util.Hashtable; - -import netscape.security.util.DerInputStream; -import netscape.security.util.DerOutputStream; -import netscape.security.util.DerValue; -import netscape.security.x509.CertificateExtensions; -import netscape.security.x509.X509CertImpl; - -import com.netscape.certsrv.apps.CMS; -import com.netscape.certsrv.usrgrp.Certificates; - -/** - * Authentication token returned by Authentication Managers. - * Upon return, it contains authentication/identification information - * as well as information retrieved from the database where the - * authentication was done against. Each authentication manager has - * its own list of such information. See individual authenticaiton - * manager for more details. - * <p> - * - * @version $Revision$, $Date$ - */ -public class AuthToken implements IAuthToken { - protected Hashtable<String, Object> mAttrs = null; - - /* Subject name of the certificate in the authenticating entry */ - public static final String TOKEN_CERT_SUBJECT = "tokenCertSubject"; - - /* NotBefore value of the certificate in the authenticating entry */ - public static final String TOKEN_CERT_NOTBEFORE = "tokenCertNotBefore"; - - /* NotAfter value of the certificate in the authenticating entry */ - public static final String TOKEN_CERT_NOTAFTER = "tokenCertNotAfter"; - - /* Cert Extentions value of the certificate in the authenticating entry */ - public static final String TOKEN_CERT_EXTENSIONS = "tokenCertExts"; - - /* Serial number of the certificate in the authenticating entry */ - public static final String TOKEN_CERT_SERIALNUM = "certSerial"; - - /** - * Certificate to be renewed - */ - public static final String TOKEN_CERT = "tokenCert"; - - /* Certificate to be revoked */ - public static final String TOKEN_CERT_TO_REVOKE = "tokenCertToRevoke"; - - /** - * Plugin name of the authentication manager that created the - * AuthToken as a string. - */ - public static final String TOKEN_AUTHMGR_IMPL_NAME = "authMgrImplName"; - - /** - * Name of the authentication manager that created the AuthToken - * as a string. - */ - public static final String TOKEN_AUTHMGR_INST_NAME = "authMgrInstName"; - - /** - * Time of authentication as a java.util.Date - */ - public static final String TOKEN_AUTHTIME = "authTime"; - - /** - * Constructs an instance of a authentication token. - * The token by default contains the following attributes: <br> - * - * <pre> - * "authMgrInstName" - The authentication manager instance name. - * "authMgrImplName" - The authentication manager plugin name. - * "authTime" - The - The time of authentication. - * </pre> - * - * @param authMgr The authentication manager that created this Token. - */ - public AuthToken(IAuthManager authMgr) { - mAttrs = new Hashtable<String, Object>(); - if (authMgr != null) { - set(TOKEN_AUTHMGR_INST_NAME, authMgr.getName()); - set(TOKEN_AUTHMGR_IMPL_NAME, authMgr.getImplName()); - } - set(TOKEN_AUTHTIME, new Date()); - } - - public String getInString(String attrName) { - return (String) mAttrs.get(attrName); - } - - public boolean set(String attrName, String value) { - if (value == null) { - return false; - } - mAttrs.put(attrName, value); - return true; - } - - /** - * Removes an attribute in the AuthToken - * - * @param attrName The name of the attribute to remove. - */ - public void delete(String attrName) { - mAttrs.remove(attrName); - } - - /** - * Enumerate all attribute names in the AuthToken. - * - * @return Enumeration of all attribute names in this AuthToken. - */ - public Enumeration<String> getElements() { - return (mAttrs.keys()); - } - - public byte[] getInByteArray(String name) { - String value = getInString(name); - if (value == null) { - return null; - } - return CMS.AtoB(value); - } - - public boolean set(String name, byte[] value) { - if (value == null) { - return false; - } - return set(name, CMS.BtoA(value)); - } - - public Integer getInInteger(String name) { - String strVal = getInString(name); - if (strVal == null) { - return null; - } - try { - return Integer.valueOf(strVal); - } catch (NumberFormatException e) { - return null; - } - } - - public boolean set(String name, Integer value) { - if (value == null) { - return false; - } - return set(name, value.toString()); - } - - public BigInteger[] getInBigIntegerArray(String name) { - String value = getInString(name); - if (value == null) { - return null; - } - String[] values = value.split(","); - if (values.length == 0) { - return null; - } - BigInteger[] result = new BigInteger[values.length]; - for (int i = 0; i < values.length; i++) { - try { - result[i] = new BigInteger(values[i]); - } catch (NumberFormatException e) { - return null; - } - } - return result; - } - - public boolean set(String name, BigInteger[] value) { - if (value == null) { - return false; - } - StringBuffer buffer = new StringBuffer(); - for (int i = 0; i < value.length; i++) { - if (i != 0) { - buffer.append(","); - } - buffer.append(value[i].toString()); - } - return set(name, buffer.toString()); - } - - public Date getInDate(String name) { - String value = getInString(name); - if (value == null) { - return null; - } - try { - return new Date(Long.parseLong(value)); - } catch (NumberFormatException e) { - return null; - } - } - - public boolean set(String name, Date value) { - if (value == null) { - return false; - } - return set(name, String.valueOf(value.getTime())); - } - - public String[] getInStringArray(String name) { - String[] stringValues; - - byte[] byteValue = getInByteArray(name); - if (byteValue == null) { - return null; - } - try { - DerInputStream in = new DerInputStream(byteValue); - DerValue[] derValues = in.getSequence(5); - stringValues = new String[derValues.length]; - for (int i = 0; i < derValues.length; i++) { - stringValues[i] = derValues[i].getAsString(); - } - } catch (IOException e) { - return null; - } - return stringValues; - } - - public boolean set(String name, String[] value) { - if (value == null) { - return false; - } - DerOutputStream out = new DerOutputStream(); - DerValue[] derValues = new DerValue[value.length]; - try { - for (int i = 0; i < value.length; i++) { - derValues[i] = new DerValue(value[i]); - } - out.putSequence(derValues); - return set(name, out.toByteArray()); - } catch (IOException e) { - return false; - } - } - - public X509CertImpl getInCert(String name) { - byte[] data = getInByteArray(name); - if (data == null) { - return null; - } - try { - return new X509CertImpl(data); - } catch (CertificateException e) { - return null; - } - } - - public boolean set(String name, X509CertImpl value) { - if (value == null) { - return false; - } - ByteArrayOutputStream out = new ByteArrayOutputStream(); - try { - value.encode(out); - } catch (CertificateEncodingException e) { - return false; - } - return set(name, out.toByteArray()); - } - - public CertificateExtensions getInCertExts(String name) { - CertificateExtensions exts = null; - byte[] data = getInByteArray(name); - if (data != null) { - try { - exts = new CertificateExtensions(); - // exts.decode() doesn't work for empty CertExts - exts.decodeEx(new ByteArrayInputStream(data)); - } catch (IOException e) { - return null; - } - } - return exts; - } - - public boolean set(String name, CertificateExtensions value) { - if (value == null) { - return false; - } - ByteArrayOutputStream out = new ByteArrayOutputStream(); - try { - value.encode(out); - } catch (IOException e) { - return false; - } catch (CertificateException e) { - return false; - } - return set(name, out.toByteArray()); - } - - public Certificates getInCertificates(String name) { - X509CertImpl[] certArray; - - byte[] byteValue = getInByteArray(name); - if (byteValue == null) { - return null; - } - - try { - DerInputStream in = new DerInputStream(byteValue); - DerValue[] derValues = in.getSequence(5); - certArray = new X509CertImpl[derValues.length]; - for (int i = 0; i < derValues.length; i++) { - byte[] certData = derValues[i].toByteArray(); - certArray[i] = new X509CertImpl(certData); - } - } catch (IOException e) { - return null; - } catch (CertificateException e) { - return null; - } - return new Certificates(certArray); - } - - public boolean set(String name, Certificates value) { - if (value == null) { - return false; - } - DerOutputStream derStream = new DerOutputStream(); - X509Certificate[] certArray = value.getCertificates(); - DerValue[] derValues = new DerValue[certArray.length]; - try { - for (int i = 0; i < certArray.length; i++) { - ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); - try { - X509CertImpl certImpl = (X509CertImpl) certArray[i]; - certImpl.encode(byteStream); - derValues[i] = new DerValue(byteStream.toByteArray()); - } catch (CertificateEncodingException e) { - return false; - } catch (ClassCastException e) { - return false; - } - } - derStream.putSequence(derValues); - return set(name, derStream.toByteArray()); - } catch (IOException e) { - return false; - } - } - - public byte[][] getInByteArrayArray(String name) { - byte[][] retval; - - byte[] byteValue = getInByteArray(name); - if (byteValue == null) { - return null; - } - try { - DerInputStream in = new DerInputStream(byteValue); - DerValue[] derValues = in.getSequence(5); - retval = new byte[derValues.length][]; - for (int i = 0; i < derValues.length; i++) { - retval[i] = derValues[i].getOctetString(); - } - } catch (IOException e) { - return null; - } - return retval; - } - - public boolean set(String name, byte[][] value) { - if (value == null) { - return false; - } - DerOutputStream out = new DerOutputStream(); - DerValue[] derValues = new DerValue[value.length]; - try { - for (int i = 0; i < value.length; i++) { - derValues[i] = new DerValue(DerValue.tag_OctetString, value[i]); - } - out.putSequence(derValues); - return set(name, out.toByteArray()); - } catch (IOException e) { - return false; - } - } - - /** - * Enumerate all attribute values in the AuthToken. - * - * @return Enumeration of all attribute names in this AuthToken. - */ - public Enumeration<Object> getVals() { - return (mAttrs.elements()); - } - - /** - * Gets the name of the authentication manager instance that created - * this token. - * - * @return The name of the authentication manager instance that created - * this token. - */ - public String getAuthManagerInstName() { - return ((String) mAttrs.get(TOKEN_AUTHMGR_INST_NAME)); - } - - /** - * Gets the plugin name of the authentication manager that created this - * token. - * - * @return The plugin name of the authentication manager that created this - * token. - */ - public String getAuthManagerImplName() { - return ((String) mAttrs.get(TOKEN_AUTHMGR_IMPL_NAME)); - } - - /** - * Gets the time of authentication. - * - * @return The time of authentication - */ - public Date getAuthTime() { - return ((Date) mAttrs.get(TOKEN_AUTHTIME)); - } -} |