private bool IsAccessAllowed(CertificateAccess access)
 {
     return((!access.HasFlag(CertificateAccess.Read) || _claims.Contains("Read", StringComparer.OrdinalIgnoreCase)) &&
            (!access.HasFlag(CertificateAccess.Delete) || _claims.Contains("Delete", StringComparer.OrdinalIgnoreCase)) &&
            (!access.HasFlag(CertificateAccess.Create) || _claims.Contains("Create", StringComparer.OrdinalIgnoreCase)) &&
            (!access.HasFlag(CertificateAccess.Export) || _claims.Contains("Export", StringComparer.OrdinalIgnoreCase)));
 }
 private void EnsureAccess(CertificateAccess access)
 {
     if (!IsAccessAllowed(access))
     {
         throw new ForbiddenArgumentException("certificate_store", null, Name);
     }
 }