示例#1
0
        public bool isValidCertificate(ECertificate certificate)
        {
            try
            {
                ValidationPolicy validationPolicy = CertValidationPolicyManager.getInstance().getValidationPolicy();
                ValidationSystem vs = CertificateValidation.createValidationSystem(validationPolicy);
                vs.setBaseValidationTime(DateTime.UtcNow);
                CertificateStatusInfo csi = CertificateValidation.validateCertificate(vs, certificate);
                CertificateStatus     certificateStatus = csi.getCertificateStatus();
                string statusText = certificateStatus.textAl();
                //System.Console.WriteLine("Doğrulama Sonucu");
                //System.Console.WriteLine(statusText);
                //System.Console.WriteLine(csi.checkResultsToString());
                //System.Console.WriteLine(csi.getDetailedMessage());
                Program.HataMesaji = "\n\r" + csi.checkResultsToString() + "\n\r" + csi.getDetailedMessage();

                return(certificateStatus == CertificateStatus.VALID);
            }
            catch (Exception exc)
            {
                // System.Console.WriteLine(exc.Message);
                Program.HataMesaji = exc.Message;
                return(false);
            }
        }
        /**
         * Validates given certificate
         */
        public static Boolean validateCertificate(ECertificate certificate)
        {
            try
            {
                ValidationSystem vs;
                // generate policy which going to be used in validation
                if (certificate.isMaliMuhurCertificate())
                {
                    ValidationPolicy policy     = new ValidationPolicy();
                    String           policyPath = Conn.ROOT_DIR + "efatura\\config\\certval-policy-malimuhur.xml";
                    policy = PolicyReader.readValidationPolicy(policyPath);
                    vs     = CertificateValidation.createValidationSystem(policy);
                }
                else
                {
                    ValidationPolicy policy     = new ValidationPolicy();
                    String           policyPath = Conn.ROOT_DIR + "efatura\\config\\certval-policy.xml";
                    policy = PolicyReader.readValidationPolicy(policyPath);
                    vs     = CertificateValidation.createValidationSystem(policy);
                }
                vs.setBaseValidationTime(DateTime.UtcNow);

                // validate certificate
                CertificateStatusInfo csi = CertificateValidation.validateCertificate(vs, certificate);

                // return true if certificate is valid, false otherwise
                if (csi.getCertificateStatus() != CertificateStatus.VALID)
                {
                    return(false);
                }
                else if (csi.getCertificateStatus() == CertificateStatus.VALID)
                {
                    return(true);
                }
            }
            catch (Exception e)
            {
                throw new Exception("An error occured while validating certificate", e);
            }
            return(false);
        }