Ejemplo n.º 1
0
        public static bool AddTrustedRootCaCertificate(byte[] certificateHash, byte[] encodedCert, byte[] signature)
        {
            if (!ValidateRootCaCertificateAddRequestSignature(encodedCert, signature))
            {
                return(false);
            }

            if (CertificateStorageManager.IsRootCaCertificateAddedBefore(certificateHash))
            {
                return(false);
            }

            Certificate rootCaCertificate = CertificateParser.Parse(encodedCert);

            if (!rootCaCertificate.IsLoaded)
            {
                return(false);
            }

            if (!CertificateValidator.ValidateRootCaCertificate(rootCaCertificate))
            {
                return(false);
            }

            CertificateStorageManager.AddRootCaCertificateToStorage(rootCaCertificate, certificateHash, encodedCert);
            return(true);
        }