Xpay 설정 관련 변경 문의사항
유플러스 도메인 종료 및 TLS 1.2 미만 지원종료 관련 메일을 받았습니다.
내용중
conf/mall.conf 파일내의 설정에서
3-1) default_secure_protocols 값을 2048 로 변경 합니다. (다른 값 사용 불가)
ASP.NET: default_secure_protocols 값을 3072 로 변경 합니다. (다른 값 사용 불가)
3-2) Java 환경 이실경우, SSL 인증서 운영중인 환경에 적용하시고 keystore_cacerts_dir 값에 인증서 위치를 명시 합니다.
이라고 나와 있는데
현재 자바 환경에서 사용중인데 기존 mall.conf에 default_secure_protocols , keystore_cacerts_dir 이 없는데
따로 작성을 해야 하는건가요?
24 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
혹시 가장 최근에 결제된 결제건 주문번호를 알수 있을까요?
그리고 사용중이신 JDK버전은 어떻게 되실까요?
jdk 버전은 1.8 사용중이고 주문번호는 179631728281599125 입니다
주문하신 시점이 언제이신가요?
15시 13분 입니다.
jdk 1.8이상이고, 현재 쓰고계신 xpayClient 버전이 1.1.5.5 로 확인됩니다. 이경우 default_secure_protocols , keystore_cacerts_dir 는 따로 설정하지 않아도 됩니다.
lgdacom.conf 안에 설정된 url 정보가 어떻게 될까요?
네 이부분의 URL만 공지대로 수정부탁드립니다.
url = https://xpay-gateway.tosspayments.com/xpay/Gateway.do
로 수정해주시고 aux_url 은 삭제하셔도 됩니다.
이 부분 수정후 결제테스트를 진행해보시고, 주문번호 회신주시면 정상적으로 올라오는지 확인해드리겠습니다.
넵 오늘 당장은 수정 하지 않을것 같아 추후에 수정후 다시 말씀드리겠습니다. 아 그리고 TLS 1.2 전환 쪽 관련 질문인데
JSP는
// 방법 1: catalina.sh 파일에 옵션 추가
-Dhttps.protocols=TLSv1.2
// 방법 2: 코드에서 프로그램적으로 설정
System.setProperty("https.protocols", "TLSv1.2");
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443"
maxThreads="200"
scheme="https"
secure="true"
SSLEnabled="true"
keystoreFile="path_to_keystore_file"
keystorePass="password"
clientAuth="false"
sslProtocol="TLS"
sslEnabledProtocols="TLSv1.2" />
이렇게 두가지 다 설정을 해줘야 하나요?
JDK 1.8 이면 default protocol 이 TLS1.2 라서, 따로 설정하실것은 없을겁니다.
1.7 일경우 TLS1.2 를 지원하지만 디폴트가 TLS 1.1 이기 때문에, 말씀하신 설정을 강제 적용하는것으로 알고 있습니다.
JDK 1.7을 쓰는 타 가맹점에서 적용한 방법 확인해보니 대부분
System.setProperty("https.protocols", "TLSv1.2");
만 설정해서 사용하시는것 같았습니다 (이건 가맹점 WAS 환경설정에 따라 좀 다를수 있습니다)
아 넵 감사합니다~
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
안녕하세요 말씀해주신대로 호출 url 쪽만 수정했는데
IO error; javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
오류가 나오는데 혹시 따로 더 설정해야 하는게 있을까요??
아 그리고 mall.conf에 verify_cert, verify_host 0 으로 설정하니 또 결제가 잘되네요
네 이건 host 검증에 실패해서 인데요
keystore_cacerts_dir 여기에 인증서 path를 등록해 주셔야 합니다.
원래 mall.conf에 keystore_cacerts_dir 설정하는곳이 없었는데 추가를 해주면 된다는 말씀하신가요? 그리고 추가를 해야된다면 ssl 인증서 경로를 keystore_cacerts_dir = /usr/local/.. 이런식으로 설정해주면 되나요?
네 맞습니다.
안녕하세요~ mall.conf에 keystore_cacerts_dir 경로 설정 후에 javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 오류가 나는데 원인이 뭘까요..? 혹시 더 추가해야 하는 설정이 있을까요?
keystore_cacerts_dir 의 path 가 접근가능한 경로인지 확인해보시구요
읽기권한이 있는지도 점검해주세요
GPT에게 물어보니 다음과 같이 답변주는데요 이 내용들도 참고해보셔요
아 저희가 테스트서버는 현재 사설인증서로 사용중이라..그게 원인이 될수도 있겠군요. 답변 감사합니다.
안녕하세요! 패스 경로까지 설정했는데 동일한 오류가 나는데..혹시 해당 오류가 저희가 연결된 db서버가 tls1.2로 업데이트가 안된상태인데 이게 원인이 될수도 있을까요? DB는 mssql2008을 사용중입니다.
그리고 루트인증서키 읽기권한은 확인했고..공지해주신 방화벽도 오픈한 상태입니다.
아직 TLS 1.1 이하가 차단되지 않았기 때문에 지금 발생하는 에러는 설정하신 인증서가 저희 서버를 유효하지 않다고 판단해서 발생하는 에러입니다.
루트인증서를 확인ㄴ해 주셔야 할것 같습니다.
keystore_cacerts_dir =/usr/lib/jdk1.8.0_281/jre/lib/security/cacerts 현재 루트인증서 패스 설정입니다. 말씀하신 확인이 경로말고 혹시 뭐를 더 확인해봐야 하는걸까요..?
여기에 등록된 루트 인증서가 저희 서버를 유효하지 않다고 판단할수도 있을것 같습니다.
한국전자인증 기술지원 결과 저희 루트인증서에 토스측 서버 루트,체인 인증서가 다 등록되어 있는건 확인했습니다.
그리고 현재 저희가 위 답변에서 jdk1.8이면 was 쪽 sslProtocol="TLS" sslEnabledProtocols="TLSv1.2" 설정은 따로 안해도 될것같다고 하셔서 따로 설정없이 tls1.3으로 운영중인데..이 설정을 해줘야 하나요?
TLS 버전 이슈는 아닙니다. javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 에러라면 인증서 문제에요.