<?php

namespace iDServer;


/**
 * The iDServer_PHP client needs to maintain a repository of various public and private keys.
 * A default, simple, file-based implementation is provided (iDServer\Basic\KeyStore), but
 * you are encouraged to implement this interface for another kind of solution.
 */
abstract class AbstractKeyStore
{
    /**
     * Gets the certificate by the name of its issuer.
     *
     * @param string $issuerName The name of the entity who issued this certificate.
     *
     * @return array|string The certificate in PEM format, or an array of PEM certificates.
     */
    abstract public function getCertificate($issuerName);

    abstract public function getSigningKey();

    abstract public function getSigningCertificate();

    abstract public function getCryptKey();
}
