public async Task <PublicKeyCheckResult> Check(SystemX509.X509Certificate2 certificate)
        {
            var publicKeyPem = certificate.GetPemPublicKey();
            var checkResult  = await _remmeKeyStorage.Check(publicKeyPem);

            var certHashBytes = Encoding.UTF8.GetBytes(certificate.ToPemString().Sha512Digest().BytesToHexString());

            var currentUtcTime = DateTime.UtcNow;

            checkResult.IsValid = checkResult != null &&
                                  !checkResult.IsRevoked &&
                                  certHashBytes.BytesToHexString() == checkResult.EntityHash &&
                                  currentUtcTime >= checkResult.ValidFromUtc &&
                                  currentUtcTime < checkResult.ValidToUtc;

            return(checkResult);
        }
        public async Task <BaseTransactionResponse> Revoke(SystemX509.X509Certificate2 certificate)
        {
            var publicKeyPem = certificate.GetPemPublicKey();

            return(await _remmeKeyStorage.Revoke(publicKeyPem));
        }