class InstanceCertManager {

    String getSSHCertificateSigner(String sshReqType) {

        // if configured not to send SSH signer certs
        // then we'll return right away as null

        if (!responseSendSSHSignerCerts) {
            return null;
        }

        if (sshSigner == null) {
            return null;
        }

        if (sshHostCertificateSigner == null) {
            synchronized (InstanceCertManager.class) {
                updateSSHHostCertificateSigner();
            }
        }
        
        if (sshUserCertificateSigner == null) {
            synchronized (InstanceCertManager.class) {
                updateSSHUserCertificateSigner();
            }
        }
        
        return sshReqType.equals(ZTSConsts.ZTS_SSH_HOST) ? sshHostCertificateSigner : sshUserCertificateSigner;
    }

    public  InstanceCertManager(final PrivateKeyStore keyStore, Authorizer authorizer, HostnameResolver hostnameResolver,
            boolean readOnlyMode);

}