keys used with HMAC-SHA algorithms MUST have a size >= 256 bits

한지연·2023년 7월 26일
0

문제상황

TokenProvider bean이 생성되지 않음


문제 원인

The specified key byte array is 32 bits which is not secure enough for any JWT
HMAC-SHA algorithm.  The JWT JWA Specification (RFC 7518, Section 3.2) states 
that keys used with HMAC-SHA algorithms MUST have a size >= 256 bits (the key 
size must be greater than or equal to the hash output size).  Consider using the 
io.jsonwebtoken.security.Keys#secretKeyFor(SignatureAlgorithm) method to create 
a key guaranteed to be secure enough for your preferred HMAC-SHA algorithm.  See 
https://tools.ietf.org/html/rfc7518#section-3.2 for more information.

secret값이 256bits를 넘지 않음

  • application.yml
jwt:
  header: Authorization
  token-validity-in-seconds: 86400
  secret: dGVzdA==

해결방법

  • application.yml
  header: Authorization
  token-validity-in-seconds: 86400
  secret: 7JWI64WV7ZWY7IS47JqUIOyggOuKlCDsp4DquIggand0IOqzteu2gOykkeyeheuLiOuLpA==

secret값이 256bits를 넘을 수 있도록 16자 이상 작성하여 인코딩한다.

secret값 인코딩할 때 참고한 사이트: https://www.base64decode.org/

profile
배우고 활용하는 것을 즐기는 개발자, 한지연입니다!

2개의 댓글

comment-user-thumbnail
2023년 8월 3일

좋은 정보 감사합니다.

1개의 답글