노션으로 받은 V2를 이용하여 데이터부분을 암복호화 하여 개발하고 있는데 동일 보안키를 사용했음애도 결과값을 다시 복호화 할때 Couldn't validate GCM authentication tag: mac check in GCM failed 오류가 발생하고 있습니다. 사용한 복호화 코드는 다음과 같습니다. 그리고 API키에는 가장 최근 버전이 2022-11-16로 되어 있는데 V2버전도 해당 보안키를 사용하면 되는지 문의드립니다.
public static String encryptGcm(Object target) throws Exception { // JSON으로 변환 String payload = objectMapper.writeValueAsString(target);
// JWE 헤더 생성 JWEHeader jweHeader = new JWEHeader.Builder(JWEAlgorithm.DIR, EncryptionMethod.A256GCM) .customParam("iat", OffsetDateTime.now(ZoneId.of("Asia/Seoul")).toString()) .customParam("nonce", UUID.randomUUID().toString()) .build();
// JWE 객체 생성 JWEObject jweObject = new JWEObject(jweHeader, new Payload(payload));
// 보안 키를 Hex로 디코딩 byte[] key = Hex.decode(GCMKEY); // 암호화 수행 jweObject.encrypt(new DirectEncrypter(key));
// JWE 직렬화 후 반환 return jweObject.serialize(); } 참고로 리턴값은 eyJlbmMiOiJBMjU2R0NNIiwiaWF0IjoiMjAyNC0wOS0yNFQxMToyMzowOS45Mjc1NjE0NDIrMDk6MDAiLCJub25jZSI6ImUzOTJjMTIzLWM1OWEtNDA1Yi04MmY5LTk4OWMyNDEzYTU5ZSIsImFsZyI6ImRpciJ9..C39wz5b3QXfebqC0.oiVXf6riQW2QmXYd1L1IpzuCFxqoR41ocbMz39-f1aYQkaC2oRqglZy1HE5YfU6vRZJLu22LjN0aN4YqZz3Rm-XQTwhD78lfKisIBPbwfNLsoHzKXm52H3FACqiMAb9m_wxRf3vcw3duMUNJpiO7OmmVMZCqWDUKKWQQfWf_P6f7jvx1POZ6cAoIj0S1ForpAyN_skQHbFLzJzfu2bqbGUff5tj1EHWGUTdi3STckq3ganz1mVM.LFdFhmkH3np8NOW_A_q-Kw 입니다.
Continue the conversation
Join the Discord to ask follow-up questions and connect with the community
Tp개커
Toss payments 개발자 커뮤니티
Toss payments 개발자 커뮤니티입니다. 결제 연동하며 겪는 기술 문의부터, 결제 시장에 대한 다양한 정보까지 얻어가세요~