package org.apereo.cas.services;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import java.io.Serializable;
import java.security.PublicKey;
/**
* Represents a public key for a CAS registered service.
* @author Misagh Moayyed
* @since 4.1
*/
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY)
public interface RegisteredServicePublicKey extends Serializable {
/**
* Gets location to the public key file.
*
* @return the location
*/
String getLocation();
/**
* Gets algorithm for the public key.
*
* @return the algorithm
*/
String getAlgorithm();
/**
* Create instance.
*
* @return the public key
* @throws Exception the exception thrown if the public key cannot be created
*/
PublicKey createInstance() throws Exception;
}