class ZTSImpl implements KeyStore, ZTSHandler {

    public CertificateAuthorityBundle getCertificateAuthorityBundle(ResourceContext ctx, String name) {

        final String caller = ctx.getApiName();
        final String principalDomain = logPrincipalAndGetDomain(ctx);

        validateRequest(ctx.request(), name, caller);
        validate(name, TYPE_SIMPLE_NAME, principalDomain, caller);

        // for consistent handling of all requests, we're going to convert
        // all incoming object values into lower case since ZMS Server
        // saves all of its object names in lower case

        name = name.toLowerCase();
        setRequestDomain(ctx, name);

        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("getCertificateAuthorityBundle(name: {})", name);
        }

        // fetch the requested bundle from the cert manager

        CertificateAuthorityBundle bundle = instanceCertManager.getCertificateAuthorityBundle(name);
        if (bundle == null) {
            throw notFoundError("getCertificateAuthorityBundle: No such bundle: " + name,
                    caller, ZTSConsts.ZTS_UNKNOWN_DOMAIN, principalDomain);
        }

        return bundle;
    }

    public  ZTSImpl();
    public  ZTSImpl(CloudStore implCloudStore, DataStore implDataStore);

}