고객사에서 웹서비스 연동 시 아래와 같이 인증서가 잘못된 경우 무시할 수 있는 방법을 요청해 공유합니다.


1, 서버 인증서 오류 내용 

한글 : 이 웹 사이트의 보안 인증서에 문제가 있습니다 

영문 : There is a problem with this website's security certificate - http://support.microsoft.com/kb/931850/ 


2, 영문으로 검색 시 아래와 같은 키워드를 찾았습니다. 

WINHTTP_OPTION_SECURITY_FLAGS 

SECURITY_FLAG_IGNORE_UNKNOWN_CA 

SECURITY_FLAG_IGNORE_CERT_CN_INVALID 

SECURITY_FLAG_IGNORE_CERT_DATE_INVALID 

(https://msdn.microsoft.com/en-us/library/windows/desktop/aa384066(v=vs.85).aspx


위의 플래그들이 잘못된 인증서를 무시하라는 옵션설정으로 보입니다. 


3, 위 보안 플래그를 설정하는 데모 

http://www.nldelphi.com/showthread.php?39901-Bad-cipher-melding 

http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_26824117.html

위 링크를 참고해 첨부파일의 샘플을 만들어 보았습니다. 

주요 코드는 아래와 같으며 WinInet을 이용하기 위해 uses 절에 "Winapi.WinInet"를 추가해야 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
ReqFlags := ReqFlags
              or SECURITY_FLAG_IGNORE_UNKNOWN_CA
              or SECURITY_FLAG_IGNORE_CERT_CN_INVALID
              or SECURITY_FLAG_IGNORE_CERT_DATE_INVALID
              or SECURITY_FLAG_IGNORE_REVOCATION;
  // Set new flags
  if not(InternetSetOption(hReq, INTERNET_OPTION_SECURITY_FLAGS, @ReqFlags, dwSize)) then begin
    // Get error code
    dwError := GetLastError;
    // Failure
    MessageBox(0, PChar(IntToStr(dwError)), PChar('Confirm'), MB_OK or MB_ICONINFORMATION);
  end;


4, 테스트 & 결과

첫번째 버튼은 TIdHttp 컴포넌트로 https를 호출하고 

두번째 버튼은 WinInet을 이용했습니다. 


아쉽게도 인증서 오류가 발생한 환경이 없어 고객에게 테스트 요청했습니다. 결과가 오거나 테스트 환경을 찾게되면 테스트 후 결과를 추가하겠습니다.(기본 동작만 https를 제공하는 facebook에서 확인한 상태입니다.)


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 50118
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 47923
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 50860
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 55782
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 65819
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 51417
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 80639
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 211390
463 [2020년 상반기] 기술자료 TOP 10 - 개발자들이 가장 많이 클릭한 기술자료는? 관리자 2020.07.07 878
462 엔터프라이즈 커넥터 설치하기 file 험프리 2019.10.01 876
461 애플 개발자 프로그램 구독하지 않고 XCode8을 설정해 iOS앱을 배포하는 방법 험프리 2017.05.15 876
460 리팩토링 3-메소드 추출 file 김원경 2017.02.24 875
459 파이어몽키를 사용하여 멀티 플랫폼/아키텍처 용 소프트웨어 개발 file 김원경 2020.03.25 875
458 C++빌더/델파이 개발자를 위한 최적의 데이터베이스 관리 도구 - 아쿠아 데이터 스튜디오 file 관리자 2018.12.11 871
457 리눅스용 앱에 다양한 스타일 적용하기 (FMX 스타일들을 리눅스 앱에도!) 관리자 2019.09.17 870
456 [고객 사례-영상 제작, 3D, 델파이] FrameForge - 3D 영상 제작 스토리보드 제작용 애플리케이션 관리자 2016.11.30 868
455 n [도서/PDF/소스코드] 시작하는 사람들을 위한 델파이 프로그래밍-모듈 11. 반복들 관리자 2019.03.29 867
454 이 달의 기술자료 - 2021년 04월 험프리 2021.03.25 866
453 C++ 유니코드 문자열 리터럴(Unicode String Literal) 활용 방법 관리자 2021.01.22 866
452 MidaConverter로 VCL 프로젝트를 FMX 프로젝트로 변환할 수 있습니다. Humphery 2015.06.04 865
451 헬스케어 분야에서의 델파이 - 코로나에 맞서며 file 김원경 2020.04.29 864
450 주요 OS 시장 점유율 - 윈도우와 안드로이드! file 관리자 2019.11.19 863
449 [10.2 도쿄][릴리즈2] RAD 서버 싱글 사이트 라이선스 제공 험프리 2017.12.13 863
448 파이어몽키 TListBox 컴포넌트 사용방법: 사용자 정의 아이템데이터 동적으로 표시하기 file 김원경 2020.01.20 862
447 [10.2 도쿄] RTL file 김원경 2017.03.24 861
446 [고객사례-유틸리티, 델파이] TreeSize - 하드 디스크 공간 관리 프로그램 관리자 2020.02.18 860
445 [10.4 시드니 신기능] 델파이 10.4 런타임 라이브러리 향상 file 김원경 2020.05.28 859
444 [고객사례-생산성도구, 델파이] Change-Pro for Excel - 엑셀 변경항목 분석 프로그램 관리자 2017.10.27 859