001 /** 002 * 003 * Licensed to the Apache Software Foundation (ASF) under one or more 004 * contributor license agreements. See the NOTICE file distributed with 005 * this work for additional information regarding copyright ownership. 006 * The ASF licenses this file to You under the Apache License, Version 2.0 007 * (the "License"); you may not use this file except in compliance with 008 * the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018 package org.apache.geronimo.management.geronimo; 019 020 import java.math.BigInteger; 021 022 /** 023 * Management interface for dealing with a specific CertificateRequestStore 024 * 025 * @version $Rev: 476291 $ $Date: 2006-11-17 15:05:24 -0500 (Fri, 17 Nov 2006) $ 026 */ 027 public interface CertificateRequestStore { 028 /** 029 * This method returns the ids of all certificate requests in the store. 030 */ 031 public String[] getAllRequestIds(); 032 033 /** 034 * This method returns the ids of all certificate requests with verification due. 035 */ 036 public String[] getVerificatonDueRequestIds(); 037 038 /** 039 * This method returns the ids of all certificate requests that are verified. 040 */ 041 public String[] getVerifiedRequestIds(); 042 043 /** 044 * This method returns the certificate request text corresponding to a specified id. 045 * @param id Id of the certificate request. 046 */ 047 public String getRequest(String id); 048 049 /** 050 * This method deletes a certificate request with the specified id. 051 * @param id Id of the certificate request to be deleted. 052 * @return True if the request is deleted succssfully 053 */ 054 public boolean deleteRequest(String id); 055 056 /** 057 * This method stores the given certificate request under the given id. If a request with the id 058 * exists in the store, it will generate a new id and store the request under that id. 059 * @param id Id under which the certificate request is to be stored 060 * @param csrText Certificate Request text 061 * @return Id under which the certificate request is stored 062 */ 063 public String storeRequest(String id, String csrText); 064 065 /** 066 * This method sets the status of the specifed certificate request as verified. 067 * @param id Id of the certificate request 068 * @return True if the status is set successfully. 069 */ 070 public boolean setRequestVerified(String id); 071 072 /** 073 * This method sets the status of a certificate request as fulfilled. 074 * @param id Id of the certificate request 075 * @param sNo Serial number of the certificate issued against the certificate request. 076 * @return True if the operation is successfull. 077 */ 078 public boolean setRequestFulfilled(String id, BigInteger sNo); 079 080 /** 081 * This method returns the Serial number of the certificate issued against the certificate request 082 * specified by the given id. 083 * @param id Id of the certificate request 084 * @return Serial number of the certificate issued. 085 * @return null if there is no such certificate request or the certificate request is not fulfilled. 086 */ 087 public BigInteger getSerialNumberForRequest(String id); 088 089 /** 090 * This method removes the certificate request id from the status list. 091 * @param id Id of the certificate request to be removed. 092 * @param sNo Serial number of certificate issued against the certificate request whose Id is to be removed. 093 */ 094 public void removeRequestStatus(String id, BigInteger sNo); 095 }