구나방
구나방3w ago

비인증결제(With 법인인증) - XPay 취소연동

안녕하세요 구모듈 결제취소 연동 중에 질문이 있어 문의드립니다. 환경 JDK 17 [mall.conf 설정] ... ;verify_cert 1: 인증서 검증; 0: 인증서 검증하지 않음 verify_cert = 0 ;verify_host 1: 인증서 내의 domain name 확인; 0: 확인하지 않음 (test 시만 사용) verify_host = 0 ... ;인증서위치 (고객사의 인증서 위치에 맞게 수정이 필요합니다.) keystore_cacerts_dir=*** ... 현재 고객사 인증서 파일을 받아올 수 없는 상황이라 연동 테스트를 위해 해당 설정을 0으로 두고 진행하고자 합니다. 테스트 진행시에 java.io.FileNotFoundException: ... (No such file or directory) 가 확인되는데 설정을 잘못한걸까요 ?? 아니면 테스트 환경이어도 인증서 위치에 무조건 고객사 인증서 파일이 위치해야하는지 궁금합니다.
22 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
박의원
박의원3w ago
keystore_cacerts_dir 는 아예 주석처리를 해주시기 바랍니다. 아니면 아래와 같이 조치해보시겠어요?
박의원
박의원3w ago
lgdacom/conf 폴더 안에 아래 첨부파일 업로드 해주시고
박의원
박의원3w ago
mall.conf 의 아래 부분
keystore_cacerts_dir= 이 경로를 위 파일 업로드 한 경로의 절대경로로 지정해보세요 ex) cacerts 파일을 업로드 한 곳이 /www/lgdacom/conf/cacerts 라면 keystore_cacerts_dir= /www/lgdacom/conf/cacerts 로 지정 이렇게 하시고 에러가 안나면 ;verify_cert 1: 인증서 검증; 0: 인증서 검증하지 않음 verify_cert = 1 ;verify_host 1: 인증서 내의 domain name 확인; 0: 확인하지 않음 (test 시만 사용) verify_host = 1 로 설정을 다시 해보시고 테스트 진행해보세요 리눅스 서버라면 cacerts 파일에 대해 chmod 644 권한을 지정해주시기 바랍니다. 참고로 위 cacerts 파일은 JDK 1.7용 기본 파일에 , keytool 을 이용하여 *.tosspayments.com 의 CA 를 추가한 파일입니다. conf 에 넣어두고 위와 같이 경로 지정하시면 기존 가맹점 서버의 cacerts 를 건들지 않고, 결제때만 저걸 바라보게 할수 있습니다.
keystore_cacerts_dir 는 아예 없거나, 있을경우 정확한 경로가 지정되어야 합니다. 그리고 keystore_cacerts_dir 가 주석이라면 verify_host , verify_cert 는 1로 설정할수 없습니다. 0만 가능합니다.
구나방
구나방OP3w ago
기능을 운영으로 배포해야하는데 keystore_cacerts_dir 가 필수가 아니여도 기능이 정상작동하는걸까요 ??
박의원
박의원3w ago
네 기능은 정상작동 합니다. 다만 보안상 권장하지 않습니다. 만일 가맹점서버의 DNS가 해킹당하거나 hosts 파일이 침해되서 저희 도메인을 엉뚱한 IP로 지정해버릴경우 문제가 발생할수 있습니다 외부 DNS를 이용하시거나, hosts 파일에 대한 보안이 보장된다면, keystore_cacerts_dir 주석, verify_host , verify_cert 를 0으로 지정해도 결제에 이슈가 발생하지는 않을것 같습니다.
구나방
구나방OP3w ago
그럼 제공해주신 cacerts 파일을 넣어두는걸로 해도 보안상 문제 해결 및 기능도 정상작동할 수 있다는 말씀이실까요??
박의원
박의원3w ago
구나방
구나방OP3w ago
제공해주신 파일로 ;verify_cert 1: 인증서 검증; 0: 인증서 검증하지 않음 verify_cert = 1 ;verify_host 1: 인증서 내의 domain name 확인; 0: 확인하지 않음 (test 시만 사용) verify_host = 1 설정 뒤에 진행해보았을때 해당 로그가 쌓인걸 확인했습니다. 해당 로그는 어떤 경우에 쌓이는 걸까요?? 2025-02-05 16:55:12 [FATAL] [...] TX failed: res code = 20101; msg = Could not connect error;javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
박의원
박의원3w ago
lgdacom.conf 의 url 이 지금 어떻게 되어 있나요? TLS 1.2 가 미지원되서 발생하는 에러로 보입니다. 상점 ID 정보도 함께 회신주시기 바랍니다
구나방
구나방OP3w ago
상점아이디 : kvp_abctire13, url = https://xpay-gateway.tosspayments.com/xpay/Gateway.do test_url = https://xpay-gateway-sandbox.tosspayments.com/xpay/Gateway.do 입니다 테스트 환경일 땐 tkvp_abctire13로 진행했습니다
박의원
박의원3w ago
verify_cert = 0 , verify_host = 0 으로 한 상태에서는 잘 되나요?
구나방
구나방OP3w ago
박의원
박의원3w ago
지금 일단 보니까..TLS 1.2 환경은 되는것 같구요.. keystore_cacerts_dir 의 cacerts 문제가 맞는것 같습니다 지금 mall.conf 의 keystore_cacerts_dir 설정이 어떻게 되어 있는지 공유해주시겠어요?
구나방
구나방OP3w ago
앗 .. 재시도 해보니 해당 에러가 뜨지 않습니다 .. 흠 .. 해당 res code 가 있었어도 기능 진행되는 데는 문제가 없었어서 .. 해당 에러가 있을때 유의해야할 부분이 있을까요 ??
박의원
박의원3w ago
음..저 혹시 오늘날짜로 남은 로그파일 전체하고, mall.conf 파일을 techsupport@tosspayments.com 으로 보내주실수 있을까요?
구나방
구나방OP3w ago
넵 알겠습니다 전달 후 댓글 남기겠습니다
박의원
박의원3w ago
가맹점 중요정보가 있는 파일이라, 이곳에서 요청드리는것보다는 메일로 수신하고 대응해드리겠습니다
구나방
구나방OP3w ago
메일 보내드렸습니다. 확인 부탁드립니다!
박의원
박의원3w ago
네 메일 확인했습니다. 혹시 지금은 더이상 에러가 발생하지 않나요? 16:56:26 이후부터 발생하는 LGD_RESPMSG = 존재하지 않는 거래입니다. 는 정상입니다 (임의의 거래번호를 넣었기 때문에) 직전에 발생한 16:55:12 의 TX failed: res code = 20101; msg = Could not connect error;javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 이 에러는 처음 문의주신 keystore 관련 에러인데요...이게 교체 후에도 발생을 한것이 좀 이상하네요..혹시 cacerts 적용후 WAS 재기동을 진행하신것은 아니시죠? 만일..was를 재기동하지 않았지만, 처음 적용후에만 위 에러가 나고 이후 더이상 에러가 발생하지 않는지만 확인부탁드립니다.
구나방
구나방OP3w ago
제가 제공해주신 cacerts로 keystore_cacerts_dir 위치 설정할때 파일 위치를 정확하게 두지않아 발생 시켰을 가능성도 있을 것 같습니다. 현재는 해당 에러가 발생되고 있지 않습니다!
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?