/// <summary>
        /// 부모 인증서를 다운로드 받아 검사할 수 있는 경우의 검증방법입니다.
        /// </summary>
        /// <returns>검증 결과</returns>
        private bool VerifyParentCertURL()
        {
            string url = _parentCertURL;

            if (url.Equals("null"))
            {
                return(false);
            }
            Match  match    = Regex.Match(url, @".{0,}\/(.{0,}.crt)");
            string fileName = match.Groups[1].Value;

            using (var client = new WebClient())
            {
                try
                {
                    client.DownloadFile(url, fileName);
                }
                catch (WebException ex)
                {
                    AddCertNote("부모 인증서를 다운로드하지 못했습니다. 사유: " + ex.Message);
                    return(false);
                }
            }

            CertificateVerifier parentVerifier = new CertificateVerifier();

            if (!parentVerifier.LoadTarget(fileName))
            {
                return(false);
            }
            if (!parentVerifier.Verify())
            {
                return(false);
            }

            // 검증을 위해 임시로 받았던 부모 인증서를 제거
            if (!File.Exists(fileName))
            {
                return(true);
            }
            try
            {
                File.Delete(fileName);
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(true);
        }
        /// <summary>
        /// 부모 인증서를 다운로드 받아 검사할 수 있는 경우의 검증방법입니다.
        /// </summary>
        /// <returns>검증 결과</returns>
        private bool VerifyParentCertURL()
        {
            string url = _parentCertURL;
            if (url.Equals("null"))
            {
                return false;
            }
            Match match = Regex.Match(url, @".{0,}\/(.{0,}.crt)");
            string fileName = match.Groups[1].Value;

            using (var client = new WebClient())
            {
                try
                {
                    client.DownloadFile(url, fileName);
                }
                catch (WebException ex)
                {
                    AddCertNote("부모 인증서를 다운로드하지 못했습니다. 사유: " + ex.Message);
                    return false;
                }
            }

            CertificateVerifier parentVerifier = new CertificateVerifier();
            if (!parentVerifier.LoadTarget(fileName)) return false;
            if (!parentVerifier.Verify()) return false;

            // 검증을 위해 임시로 받았던 부모 인증서를 제거
            if (!File.Exists(fileName)) return true;
            try
            {
                File.Delete(fileName);
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.Message);
            }
            return true;
        }
 private void Initialize()
 {
     _counterCertificateVerifier = new CertificateVerifier();
     _counterCertificate = null;
     SigningTime = null;
 }
Example #4
0
 private void Initialize()
 {
     _counterCertificateVerifier = new CertificateVerifier();
     _counterCertificate         = null;
     SigningTime = null;
 }
Example #5
0
 private void Initialize()
 {
     _certificateVerifier = new CertificateVerifier();
 }
 private void Initialize()
 {
     _certificateVerifier = new CertificateVerifier();
 }