001/** 002 * Copyright 2005-2017 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.ksb.security.admin.service; 017 018import java.security.GeneralSecurityException; 019import java.security.KeyStore; 020import java.security.KeyStoreException; 021import java.security.PrivateKey; 022import java.security.cert.Certificate; 023import java.util.List; 024 025import org.kuali.rice.ksb.security.admin.KeyStoreEntryDataContainer; 026 027/** 028 * This is an interface for the Java Security Management piece of the KSB module 029 * of Rice. It is used for modifying and creating keystores and certificates 030 * 031 * @author Kuali Rice Team (rice.collab@kuali.org) 032 * 033 */ 034public interface JavaSecurityManagementService { 035 036 public void removeClientCertificate(String alias) throws KeyStoreException; 037 038 public KeyStore generateClientKeystore(String alias, String passphrase) throws GeneralSecurityException; 039 040 public List<KeyStoreEntryDataContainer> getListOfModuleKeyStoreEntries(); 041 042 public String getModuleKeyStoreAlias(); 043 044 public String getModuleKeyStoreLocation(); 045 046 public String getModuleSignatureAlgorithm(); 047 048 public Certificate getCertificate(String alias) throws KeyStoreException; 049 050 public PrivateKey getModulePrivateKey(); 051 052 public boolean isAliasInKeystore(String alias) throws KeyStoreException; 053 054 public String getCertificateAlias(Certificate certificate) throws KeyStoreException; 055 056}