'[토스페이먼츠][중요] PX SDK 결제 모듈의 TLS 1.1 이하 비보안채널 지원종료 안내' 라는 메일을 받았습니다.
https://api.tosspayments.com/v1/payments/confirm 이런 API를 사용하면 안된다는 것 같은데요.
19 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
뭐를 참고해서 어디 부터 바꾸어야 하는지 잘 모르겠습니다.
저희 endpoint가 아니라 귀사 서버의 보안채널에 관한 내용입니다.
서버언어가 어떻게되세요?
asp.net 입니다
https://api.tosspayments.com/v1/payments/confirm API를 사용하지 마시라는 의미는 아닙니다.
해당 API들을 가맹점에서 호출할 때의 client tls 버전이 1.1이하 버전을 사용하고 있기 때문에 이 버전을 올려달라는 의미에요.
asp 경우라면 아래 가이드로 조치한번 해보시겠어요.
가맹점마다 서버에서 사용하는 언어및 라이브러리 버전등이 달라서 방법은 구글링등을 통해 찾아보셔야 합니다.
===============
https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/operations/manage-ssl-protocols-in-ad-fs#enable-and-disable-tls-12
내용을 참고하셔서 TLS 1.0, TLS1.1 을 disable 해보실수 있을까요?
Manage SSL/TLS protocols and cipher suites for AD FS
Learn how to disable and enable certain TLS/SSL protocols and cipher suites that Active Directory Federation Services (AD FS) uses.
브라우저 개발자 도구로 사이트 보안을 체크해보면 연결 프로토콜은 TLS 1.2 로 나오긴 하는데요. 결제에는 뭔가 다른 조치를 해주어야 하는 건가요?
브라우저에서 확인하는 버전이 아니에요
서버 to 서버로 호출할 때의 버전을 말하는거에요.
고객이 귀사의 홈페이지 접속할때의 tls 버전이 아닙니다.
브라우저에서 확인한 것은 저희 서버와 제 PC와의 프로토콜을 확인한 거잖아요. 서버와 서버간의 프로토콜은 그와 다른 가요? 그렇다면 아까 주신 문서 대로 서버에서 TLS 1.0 과 TLS 1.1 을 사용 못하게 막기만 하면 되는 건가요?
네 가맹점의 서버와 토스페이먼츠 서버간의 통신 프로토콜에 대한 내용입니다.
ASP.net 이라면 .aspx.cs 파일안에 저희 서버를 호출하시는 부분이 XpayClient 로 요청을 보내고 있을겁니다.
ASP.net 이 사용하는 TLS 버전을 위에 링크 내용 참고해서 확인해 주시면 됩니다.
XpayClient 는 아니구요 토스sdk를 사용했어요.
나름 보완을 해 본 다음에 TLS1.2 이상으로 잘 통신이 되는지를 확인해보려면
어떻게 해볼 수 있을까요?
승인요청, 또는 취소요청같은 Backend 통신 후에 저희쪽에 주문번호를 알려주시면 확인해드립니다
아 네 알겠습니다. 진행해보고 필요할 때 확인 요청드리도록 하겠습니다.
좀전에 결제한번 해봤는데요. 이것의 TLS 버전 확인 좀 부탁드립니다.
orderId : gukpul8C8X-contest-05140957-5
paymentKey : gukpu20240905140958fGYh5
amount : 35000
해당 주문건 TLSv1.2로 확인됩니다.
네. 알겠습니다. 확인 감사합니다.
14시 05분부터 tls1.2로 확인됩니다.
위에 가이드 참고하여 수정하신걸까요?
서버에서 tls 하위버전을 사용 못하도록 막은 것은 아니구요. 결제 페이지에 전송할 때 사용할 tls 1.2 버전을 명시적으로 지정을 해주었습니다.
소스에 넣어준 코드는
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
입니다.
네, 확인 감사드려요!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.