첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170

TestProject.zip
0.00MB

▶ Program.cs

using System.Net.Security;
using System.Security.Cryptography.X509Certificates;

using OpenPop.Pop3;

namespace TestProject
{
    /// <summary>
    /// 프로그램
    /// </summary>
    class Program
    {
        //////////////////////////////////////////////////////////////////////////////////////////////////// Method
        ////////////////////////////////////////////////////////////////////////////////////////// Static
        //////////////////////////////////////////////////////////////////////////////// Private

        #region 원격 인증서 검증 콜백 처리하기 - RemoteCertificateValidationCallback(sender, certificate, chain, sslpolicyerrors)

        /// <summary>
        /// 원격 인증서 검증 콜백 처리하기
        /// </summary>
        /// <param name="sender">이벤트 발생자</param>
        /// <param name="certificate">X.509 인증서</param>
        /// <param name="chain">X.509 체인</param>
        /// <param name="sslpolicyerrors">SSL 정책 에러</param>
        /// <returns>처리 결과</returns>
        private static bool RemoteCertificateValidationCallback
        (
            object          sender,
            X509Certificate certificate,
            X509Chain       chain,
            SslPolicyErrors sslpolicyerrors
        )
        {
            // SSLPolicyErrors가 있는지 확인해야 하지만 여기서는 단순히 인증서가 정상이라고 말하고 신뢰한다.
            return true;
        }

        #endregion
        #region SSL 인증서 체크하기 - CheckSSLCertificate(hostName, port, timeout)

        /// <summary>
        /// SSL 인증서 체크하기
        /// </summary>
        /// <param name="hostName">호스트명</param>
        /// <param name="port">포트</param>
        /// <param name="timeout">타임아웃</param>
        private static void CheckSSLCertificate(string hostName, int port, int timeout)
        {
            using(Pop3Client client = new Pop3Client())
            {
                client.Connect(hostName, port, true, timeout, timeout, RemoteCertificateValidationCallback);
            }
        }

        #endregion
        #region 프로그램 시작하기 - Main()

        /// <summary>
        /// 프로그램 시작하기
        /// </summary>
        private static void Main()
        {
            string hostName = "pop.naver.com";
            int    port     = 995;

            CheckSSLCertificate(hostName, port, 3000);
        }

        #endregion
    }
}
728x90
반응형
그리드형
Posted by 사용자 icodebroker

댓글을 달아 주세요