📄 uploadrelyingpartycertificateaction.java
字号:
/* * Copyright 2005-2007 WSO2, Inc. (http://wso2.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.wso2.solutions.identity.user.ui.action;import java.io.File;import java.io.FileInputStream;import java.security.cert.CertificateFactory;import java.security.cert.CertificateParsingException;import java.security.cert.X509Certificate;import java.util.Map;import org.apache.axis2.AxisFault;import org.wso2.solutions.identity.IdentityProviderException;import org.wso2.solutions.identity.admin.KeystoreUtilAdmin;import org.wso2.solutions.identity.admin.RelyingPartyAdmin;import org.wso2.solutions.identity.admin.ReportAdmin;import org.wso2.solutions.identity.persistence.dataobject.ActionDO;import org.wso2.solutions.identity.persistence.dataobject.UserPersonalRelyingPartyIdentifier;import org.wso2.solutions.identity.persistence.dataobject.UserTrustedRPDO;import org.wso2.solutions.identity.user.ui.UIConstants;import com.opensymphony.xwork2.ActionContext;public class UploadRelyingPartyCertificateAction extends ManagedAction { private static final long serialVersionUID = -2143108113462435214L; private File certificateFile; private String certificateFileType; private String certificateFileName; public String execute() throws Exception { Map session = ActionContext.getContext().getSession(); String user = (String) session.get(UIConstants.USER); KeystoreUtilAdmin ksAdmin = new KeystoreUtilAdmin(); X509Certificate cert = null; if(certificateFile == null|| certificateFile.exists() == false ){ return SUCCESS; } try { CertificateFactory factory = CertificateFactory .getInstance("X.509"); cert = (X509Certificate) factory .generateCertificate(new FileInputStream(certificateFile)); } catch (CertificateParsingException e) { this.addErrorMessage(getText("cert-invalid")); return ERROR; } String alias = null; try { alias = ksAdmin.importCertToUserTrustStore(cert); UserTrustedRPDO rp = new UserTrustedRPDO(); UserPersonalRelyingPartyIdentifier identifier = new UserPersonalRelyingPartyIdentifier(); identifier.setHostName(alias); identifier.setUserId(user); rp.setIdentifier(identifier); RelyingPartyAdmin admin = new RelyingPartyAdmin(); if(admin.getPersonalRelyingParty(alias, user) == null){ admin.create(rp); ReportAdmin.record(user, ActionDO.ACTION_USER_ADD_RP, "RP=" + alias); }else{ this.addInfoMessage("You have already uploaded the certificate"); } }catch (IdentityProviderException e) { this.addErrorMessage(e.getMessage()); return ERROR; } return SUCCESS; } public File getCertificateFile() { return certificateFile; } public void setCertificateFile(File certificateFile) { this.certificateFile = certificateFile; } public String getCertificateFileContentType() { return certificateFileType; } public void setCertificateFileContentType(String certificateFileType) { this.certificateFileType = certificateFileType; } public String getCertificateFileFileName() { return certificateFileName; } public void setCertificateFileFileName(String certificateFileName) { this.certificateFileName = certificateFileName; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -