📄 editcas.jsp
字号:
<html>
<%@page contentType="text/html"%>
<%@page errorPage="/errorpage.jsp" import="java.util.*, java.io.*, org.apache.commons.fileupload.*, se.anatom.ejbca.webdist.webconfiguration.EjbcaWebBean,se.anatom.ejbca.ra.raadmin.GlobalConfiguration, se.anatom.ejbca.SecConst, se.anatom.ejbca.util.FileTools, se.anatom.ejbca.util.CertTools, se.anatom.ejbca.authorization.AuthorizationDeniedException,
se.anatom.ejbca.webdist.cainterface.CAInterfaceBean, se.anatom.ejbca.ca.caadmin.CAInfo, se.anatom.ejbca.ca.caadmin.X509CAInfo, se.anatom.ejbca.ca.caadmin.CATokenInfo, se.anatom.ejbca.ca.caadmin.SoftCATokenInfo, se.anatom.ejbca.webdist.cainterface.CADataHandler,
se.anatom.ejbca.webdist.rainterface.RevokedInfoView, se.anatom.ejbca.ca.caadmin.CATokenInfo, se.anatom.ejbca.ca.caadmin.SoftCATokenInfo, se.anatom.ejbca.webdist.webconfiguration.InformationMemory, org.bouncycastle.asn1.x509.X509Name, org.bouncycastle.jce.PKCS10CertificationRequest,
se.anatom.ejbca.protocol.PKCS10RequestMessage, se.anatom.ejbca.ca.exception.CAExistsException, se.anatom.ejbca.ca.exception.CADoesntExistsException, se.anatom.ejbca.ca.exception.CATokenOfflineException, se.anatom.ejbca.ca.exception.CATokenAuthenticationFailedException,
se.anatom.ejbca.ca.caadmin.extendedcaservices.OCSPCAServiceInfo, se.anatom.ejbca.ca.caadmin.extendedcaservices.ExtendedCAServiceInfo, se.anatom.ejbca.ca.caadmin.hardcatokens.HardCATokenManager, se.anatom.ejbca.ca.caadmin.AvailableHardCAToken, se.anatom.ejbca.ca.caadmin.HardCATokenInfo"%>
<jsp:useBean id="ejbcawebbean" scope="session" class="se.anatom.ejbca.webdist.webconfiguration.EjbcaWebBean" />
<jsp:useBean id="cabean" scope="session" class="se.anatom.ejbca.webdist.cainterface.CAInterfaceBean" />
<%! // Declarations
static final String ACTION = "action";
static final String ACTION_EDIT_CAS = "editcas";
static final String ACTION_EDIT_CA = "editca";
static final String ACTION_CREATE_CA = "createca";
static final String ACTION_CHOOSE_CATYPE = "choosecatype";
static final String ACTION_CHOOSE_CATOKENTYPE = "choosecatokentype";
static final String ACTION_MAKEREQUEST = "makerequest";
static final String ACTION_RECEIVERESPONSE = "receiveresponse";
static final String ACTION_PROCESSREQUEST = "processrequest";
static final String ACTION_PROCESSREQUEST2 = "processrequest2";
static final String ACTION_RENEWCA_MAKEREQUEST = "renewcamakeresponse";
static final String ACTION_RENEWCA_RECIEVERESPONSE = "renewcarecieveresponse";
static final String CHECKBOX_VALUE = "true";
// Used in choosecapage.jsp
static final String BUTTON_EDIT_CA = "buttoneditca";
static final String BUTTON_DELETE_CA = "buttondeleteca";
static final String BUTTON_CREATE_CA = "buttoncreateca";
static final String BUTTON_RENAME_CA = "buttonrenameca";
static final String BUTTON_PROCESSREQUEST = "buttonprocessrequest";
static final String SELECT_CAS = "selectcas";
static final String TEXTFIELD_CANAME = "textfieldcaname";
static final String HIDDEN_CANAME = "hiddencaname";
static final String HIDDEN_CAID = "hiddencaid";
static final String HIDDEN_CATYPE = "hiddencatype";
static final String HIDDEN_CATOKENPATH = "hiddencatokenpath";
static final String HIDDEN_CATOKENTYPE = "hiddencatokentype";
// Buttons used in editcapage.jsp
static final String BUTTON_SAVE = "buttonsave";
static final String BUTTON_CREATE = "buttoncreate";
static final String BUTTON_CANCEL = "buttoncancel";
static final String BUTTON_MAKEREQUEST = "buttonmakerequest";
static final String BUTTON_RECEIVEREQUEST = "buttonreceiverequest";
static final String BUTTON_RENEWCA = "buttonrenewca";
static final String BUTTON_REVOKECA = "buttonrevokeca";
static final String BUTTON_RECIEVEFILE = "buttonrecievefile";
static final String BUTTON_PUBLISHCA = "buttonpublishca";
static final String BUTTON_REVOKERENEWOCSPCERTIFICATE = "checkboxrenewocspcertificate";
static final String TEXTFIELD_SUBJECTDN = "textfieldsubjectdn";
static final String TEXTFIELD_SUBJECTALTNAME = "textfieldsubjectaltname";
static final String TEXTFIELD_CRLPERIOD = "textfieldcrlperiod";
static final String TEXTFIELD_DESCRIPTION = "textfielddescription";
static final String TEXTFIELD_VALIDITY = "textfieldvalidity";
static final String TEXTFIELD_POLICYID = "textfieldpolicyid";
static final String TEXTFIELD_HARDCATOKENPROPERTIES = "textfieldhardcatokenproperties";
static final String TEXTFIELD_AUTHENTICATIONCODE = "textfieldauthenticationcode";
static final String CHECKBOX_AUTHORITYKEYIDENTIFIER = "checkboxauthoritykeyidentifier";
static final String CHECKBOX_AUTHORITYKEYIDENTIFIERCRITICAL = "checkboxauthoritykeyidentifiercritical";
static final String CHECKBOX_USECRLNUMBER = "checkboxusecrlnumber";
static final String CHECKBOX_CRLNUMBERCRITICAL = "checkboxcrlnumbercritical";
static final String CHECKBOX_FINISHUSER = "checkboxfinishuser";
static final String CHECKBOX_ACTIVATEOCSPSERVICE = "checkboxactivateocspservice";
static final String HIDDEN_CATOKEN = "hiddencatoken";
static final String SELECT_REVOKEREASONS = "selectrevokereasons";
static final String SELECT_CATYPE = "selectcatype";
static final String SELECT_CATOKEN = "selectcatoken";
static final String SELECT_SIGNEDBY = "selectsignedby";
static final String SELECT_KEYSIZE = "selectsize";
static final String SELECT_AVAILABLECRLPUBLISHERS = "selectavailablecrlpublishers";
static final String SELECT_CERTIFICATEPROFILE = "selectcertificateprofile";
static final String SELECT_SIGNATUREALGORITHM = "selectsignaturealgorithm";
static final String FILE_RECIEVEFILE = "filerecievefile";
static final String FILE_CACERTFILE = "filecacertfile";
static final String FILE_REQUESTFILE = "filerequestfile";
static final String CERTSERNO_PARAMETER = "certsernoparameter";
static final int MAKEREQUESTMODE = 0;
static final int RECIEVERESPONSEMODE = 1;
static final int PROCESSREQUESTMODE = 2;
static final int CERTREQGENMODE = 0;
static final int CERTGENMODE = 1;
%>
<%
// Initialize environment
int caid = 0;
String caname = null;
String includefile = "choosecapage.jsp";
String processedsubjectdn = "";
int catype = CAInfo.CATYPE_X509; // default
int catokentype = CATokenInfo.CATOKENTYPE_P12; // default
String catokenpath = "NONE";
InputStream file = null;
boolean caexists = false;
boolean cadeletefailed = false;
boolean illegaldnoraltname = false;
boolean errorrecievingfile = false;
boolean ocsprenewed = false;
boolean catokenoffline = false;
boolean catokenauthfailed = false;
GlobalConfiguration globalconfiguration = ejbcawebbean.initialize(request, "/super_administrator");
cabean.initialize(request, ejbcawebbean);
CADataHandler cadatahandler = cabean.getCADataHandler();
String THIS_FILENAME = globalconfiguration.getCaPath() + "/editcas/editcas.jsp";
String action = "";
final String VIEWCERT_LINK = globalconfiguration.getBaseUrl() + globalconfiguration.getAdminWebPath() + "viewcertificate.jsp";
boolean issuperadministrator = false;
boolean editca = false;
boolean processrequest = false;
boolean buttoncancel = false;
boolean caactivated = false;
boolean carenewed = false;
boolean capublished = false;
int filemode = 0;
int row = 0;
HashMap caidtonamemap = cabean.getCAIdToNameMap();
InformationMemory info = ejbcawebbean.getInformationMemory();
%>
<head>
<title><%= globalconfiguration .getEjbcaTitle() %></title>
<base href="<%= ejbcawebbean.getBaseUrl() %>">
<link rel=STYLESHEET href="<%= ejbcawebbean.getCssFile() %>">
<script language=javascript src="<%= globalconfiguration.getAdminWebPath() %>ejbcajslib.js"></script>
</head>
<%
if(FileUpload.isMultipartContent(request)){
errorrecievingfile = true;
DiskFileUpload upload = new DiskFileUpload();
upload.setSizeMax(60000);
upload.setSizeThreshold(59999);
List /* FileItem */ items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
if(item.getFieldName().equals(ACTION))
action = item.getString();
if(item.getFieldName().equals(HIDDEN_CAID))
caid = Integer.parseInt(item.getString());
if(item.getFieldName().equals(HIDDEN_CANAME))
caname = item.getString();
if(item.getFieldName().equals(BUTTON_CANCEL))
buttoncancel = true;
}else{
file = item.getInputStream();
errorrecievingfile = false;
}
}
}else{
action = request.getParameter(ACTION);
}
try{
// Determine action
if( action != null){
if( action.equals(ACTION_EDIT_CAS)){
// Actions in the choose CA page.
if( request.getParameter(BUTTON_EDIT_CA) != null){
// Display profilepage.jsp
includefile="choosecapage.jsp";
if(request.getParameter(SELECT_CAS) != null){
caid = Integer.parseInt(request.getParameter(SELECT_CAS));
if(caid != 0){
editca = true;
includefile="editcapage.jsp";
}
}
}
if( request.getParameter(BUTTON_DELETE_CA) != null) {
// Delete profile and display choosecapage.
if(request.getParameter(SELECT_CAS) != null){
caid = Integer.parseInt(request.getParameter(SELECT_CAS));
if(caid != 0){
cadeletefailed = !cadatahandler.removeCA(caid);
}
}
includefile="choosecapage.jsp";
}
if( request.getParameter(BUTTON_RENAME_CA) != null){
// Rename selected profile and display profilespage.
if(request.getParameter(SELECT_CAS) != null && request.getParameter(TEXTFIELD_CANAME) != null){
String newcaname = request.getParameter(TEXTFIELD_CANAME).trim();
String oldcaname = (String) caidtonamemap.get(new Integer(request.getParameter(SELECT_CAS)));
if(!newcaname.equals("") ){
try{
cadatahandler.renameCA(oldcaname, newcaname);
}catch( CAExistsException e){
caexists=true;
}
}
}
includefile="choosecapage.jsp";
}
if( request.getParameter(BUTTON_CREATE_CA) != null){
// Add profile and display profilespage.
includefile="choosecapage.jsp";
caname = request.getParameter(TEXTFIELD_CANAME);
if(caname != null){
caname = caname.trim();
if(!caname.equals("")){
editca = false;
includefile="editcapage.jsp";
}
}
}
if( request.getParameter(BUTTON_PROCESSREQUEST) != null){
caname = request.getParameter(TEXTFIELD_CANAME);
if(caname != null){
caname = caname.trim();
if(!caname.equals("")){
filemode = PROCESSREQUESTMODE;
includefile="recievefile.jsp";
}
}
}
}
if( action.equals(ACTION_CREATE_CA)){
if( request.getParameter(BUTTON_CREATE) != null || request.getParameter(BUTTON_MAKEREQUEST) != null){
// Create and save CA
caname = request.getParameter(HIDDEN_CANAME);
CATokenInfo catoken = null;
catokentype = Integer.parseInt(request.getParameter(HIDDEN_CATOKENTYPE));
if(catokentype == CATokenInfo.CATOKENTYPE_P12){
int keysize = Integer.parseInt(request.getParameter(SELECT_KEYSIZE));
String signalg = request.getParameter(SELECT_SIGNATUREALGORITHM);
if(keysize == 0 || signalg == null)
throw new Exception("Error in CATokenData");
catoken = new SoftCATokenInfo();
catoken.setSignatureAlgorithm(signalg);
((SoftCATokenInfo) catoken).setKeySize(keysize);
}
if(catokentype == CATokenInfo.CATOKENTYPE_HSM){
catokenpath = request.getParameter(HIDDEN_CATOKENPATH);
String properties = request.getParameter(TEXTFIELD_HARDCATOKENPROPERTIES);
String signalg = request.getParameter(SELECT_SIGNATUREALGORITHM);
String authenticationcode = request.getParameter(TEXTFIELD_AUTHENTICATIONCODE);
if(catokenpath == null || catokenpath == null || signalg == null)
throw new Exception("Error in CATokenData");
catoken = new HardCATokenInfo();
((HardCATokenInfo) catoken).setClassPath(catokenpath);
((HardCATokenInfo) catoken).setProperties(properties);
((HardCATokenInfo) catoken).setSignatureAlgorithm(signalg);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -