
백엔드
써드파티 API 호출을 위한 암호화 삽질기
두줄요약
ncloud SMS API의 401 오류를 HmacSHA256 서명 생성 관점에서 추적했습니다. 서명 대상 URL 누락을 수정해 정상 발송을 확인했습니다.
문제 상황
- 비즈엠에서 ncloud SMS API로 전환 후 코드 호출에서 401 Unauthorized 지속 발생
- Swagger 테스트는 성공했지만 요청 헤더의
x-ncp-apigw-signature-v2생성 단계에서 실패
원인 분석
- HmacSHA256 기반 Signature 생성 조건의 공백·줄바꿈 등 문자열 구성 오류 가능성
- Signature 생성에 사용하는 요청 URL 경로에서
/sms/v2누락
해결 방법
crypto-js의 HmacSHA256·Base64 인코딩 또는 Node.js 내장crypto.createHmac으로 Signature 생성- HTTP 메서드, URL, timestamp, access key를 지정 형식으로 조합 후 Base64 다이제스트 적용
/sms/v2/services/{SERVICE_ID}/messages경로로 수정 후 200 응답과 SMS 발송 확인
주의할 점
- API 서명 대상 문자열의 공백, 줄바꿈, URL 경로까지 문서 조건과 정확히 일치 필요
- 브라우저 예제와 Node.js 환경의 모듈 버전·문법 차이 확인 필요



