⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enhancedeidprofile.java

📁 一个免费的CA,基于EJB平台的,老师叫我们测试,现把之共享出来让大家参考
💻 JAVA
字号:
/************************************************************************* *                                                                       * *  EJBCA: The OpenSource Certificate Authority                          * *                                                                       * *  This software is free software; you can redistribute it and/or       * *  modify it under the terms of the GNU Lesser General Public           * *  License as published by the Free Software Foundation; either         * *  version 2.1 of the License, or any later version.                    * *                                                                       * *  See terms of license at gnu.org.                                     * *                                                                       * *************************************************************************/ package org.ejbca.core.model.hardtoken.profiles;import java.util.ArrayList;import org.ejbca.core.model.SecConst;/** * EnhancedEIDProfile with three certificates and key recovery functionallity *  * @version $Id: EnhancedEIDProfile.java,v 1.3 2006/07/11 13:03:04 herrvendil Exp $ */public class EnhancedEIDProfile extends EIDProfile {							// Public Constants		public static final int TYPE_ENHANCEDEID = 2;		public static final float LATEST_VERSION = 4;    public static final int CERTUSAGE_SIGN    = 0;	public static final int CERTUSAGE_AUTH    = 1;	public static final int CERTUSAGE_ENC     = 2;		public static final int PINTYPE_AUTH_SAME_AS_SIGN = SwedishEIDProfile.PINTYPE_AUTHENC_SAME_AS_SIGN;	public static final int PINTYPE_ENC_SAME_AS_AUTH  = 101;		// Protected Constants	protected static final int NUMBEROFCERTIFICATES = 3;			// Private Constants	public static final int[] AVAILABLEMINIMUMKEYLENGTHS = {1024, 2048};		// Protected Fields		private String[][] SUPPORTEDTOKENS = {{"TODO"}};			    // Default Values    public EnhancedEIDProfile() {      super();               	  data.put(TYPE, new Integer(TYPE_ENHANCEDEID));            ArrayList certprofileids = new ArrayList(NUMBEROFCERTIFICATES);	  certprofileids.add(new Integer(SecConst.CERTPROFILE_FIXED_HARDTOKENSIGN)); 	  certprofileids.add(new Integer(SecConst.CERTPROFILE_FIXED_HARDTOKENAUTH)); 	  certprofileids.add(new Integer(SecConst.CERTPROFILE_FIXED_HARDTOKENENC)); 	  data.put(CERTIFICATEPROFILEID, certprofileids);	  	  ArrayList certWritable = new ArrayList(NUMBEROFCERTIFICATES);	  certWritable.add(Boolean.FALSE);	  certWritable.add(Boolean.FALSE);	  certWritable.add(Boolean.FALSE);	  data.put(CERTWRITABLE, certWritable);	  	  	  ArrayList caids = new ArrayList(NUMBEROFCERTIFICATES);	  caids.add(new Integer(CAID_USEUSERDEFINED)); 	  caids.add(new Integer(CAID_USEUSERDEFINED)); 	  caids.add(new Integer(CAID_USEUSERDEFINED)); 	  data.put(CAID, caids);	  	  ArrayList pintypes = new ArrayList(NUMBEROFCERTIFICATES);	  pintypes.add(new Integer(PINTYPE_ASCII_NUMERIC));	  pintypes.add(new Integer(PINTYPE_ASCII_NUMERIC));	  pintypes.add(new Integer(PINTYPE_ENC_SAME_AS_AUTH));	  data.put(PINTYPE, pintypes);	  	  ArrayList minpinlength = new ArrayList(NUMBEROFCERTIFICATES);	  minpinlength.add(new Integer(4));	  minpinlength.add(new Integer(4));	  minpinlength.add(new Integer(0));	  data.put(MINIMUMPINLENGTH, minpinlength);	  	  ArrayList iskeyrecoverable = new ArrayList(NUMBEROFCERTIFICATES);	  iskeyrecoverable.add(Boolean.FALSE);	  iskeyrecoverable.add(Boolean.FALSE);	  iskeyrecoverable.add(Boolean.TRUE);	  data.put(ISKEYRECOVERABLE, iskeyrecoverable);	  	  ArrayList reuseoldcertificate = new ArrayList(NUMBEROFCERTIFICATES);	  reuseoldcertificate.add(Boolean.FALSE);	  reuseoldcertificate.add(Boolean.FALSE);	  reuseoldcertificate.add(Boolean.FALSE);	  data.put(REUSEOLDCERTIFICATE, reuseoldcertificate);	  ArrayList minimumkeylength = new ArrayList(NUMBEROFCERTIFICATES);	  minimumkeylength.add(new Integer(2048));	  minimumkeylength.add(new Integer(2048));	  minimumkeylength.add(new Integer(2048));	  data.put(MINIMUMKEYLENGTH, minimumkeylength);	  	  ArrayList keytypes = new ArrayList(NUMBEROFCERTIFICATES);	  keytypes.add(KEYTYPE_RSA);	  keytypes.add(KEYTYPE_RSA);	  keytypes.add(KEYTYPE_RSA);	  data.put(KEYTYPES, keytypes);	  	     }		public int[] getAvailableMinimumKeyLengths(){		return AVAILABLEMINIMUMKEYLENGTHS;	}	  				        	/** 	 * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.HardTokenProfile#isTokenSupported(java.lang.String)	 */	public boolean isTokenSupported(String tokenidentificationstring) {				return this.isTokenSupported(SUPPORTEDTOKENS, tokenidentificationstring);	}	/* 	 * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.HardTokenProfile#clone()	 */	public Object clone() throws CloneNotSupportedException {	    EnhancedEIDProfile clone = new EnhancedEIDProfile();	    	    super.clone(clone);	    return clone;    }	/* 	 * @see org.ejbca.core.model.hardtoken.hardtokenprofiles.HardTokenProfile#getLatestVersion()	 */	public float getLatestVersion() {	  return LATEST_VERSION;	}	public void upgrade(){		if(Float.compare(LATEST_VERSION, getVersion()) != 0) {			// New version of the class, upgrade			super.upgrade();						if(data.get(MINIMUMPINLENGTH) == null){				ArrayList minpinlength = new ArrayList(NUMBEROFCERTIFICATES);				minpinlength.add(new Integer(4));				minpinlength.add(new Integer(4));				minpinlength.add(new Integer(0));				data.put(MINIMUMPINLENGTH, minpinlength);			}						if(data.get(REUSEOLDCERTIFICATE) == null){				ArrayList reuseoldcertificate = new ArrayList(NUMBEROFCERTIFICATES);				reuseoldcertificate.add(Boolean.FALSE);				reuseoldcertificate.add(Boolean.FALSE);				reuseoldcertificate.add(Boolean.FALSE);				data.put(REUSEOLDCERTIFICATE, reuseoldcertificate);			}						if(data.get(CERTWRITABLE) == null){				ArrayList certWritable = new ArrayList(NUMBEROFCERTIFICATES);				certWritable.add(Boolean.FALSE);				certWritable.add(Boolean.FALSE);				certWritable.add(Boolean.FALSE);				data.put(CERTWRITABLE, certWritable);							}						data.put(VERSION, new Float(LATEST_VERSION));		}   	}    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -