본문 바로가기
▶ Back-End/Java

Create JWT(nimbus)

by 오늘도 코딩 2023. 10. 12.
728x90
반응형

JWT 생성 메소드

*JWE

*자세한 설명 생략

 

 

/**
 * JWT CREATE
 * 
 * @return String
 */
public String JWTCreate() {

    String jwt = "";

    try {
        /** JWE RSA KEYPAIR */
        final KeyFactory keyFactory = KeyFactory.getInstance("RSA");

        /* Encryption Key */
        final X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(Base64.getDecoder().decode(publicKey));
        final RSAPublicKey rsaPublicKey = (RSAPublicKey) keyFactory.generatePublic(x509EncodedKeySpec);
        final RSAEncrypter encryptionKey = new RSAEncrypter(rsaPublicKey);

        /** JWE Header */
        JWEHeader header = new JWEHeader(JWEAlgorithm.RSA_OAEP_256, EncryptionMethod.A256CBC_HS512);

        /** JWE Payload (registered claim) */
        JWTClaimsSet payload = new JWTClaimsSet.Builder()
                // .issuer("토큰 발급자") 
                // .subject("토큰 제목") 
                // .audience("토큰 대상자") 
                .expirationTime(new Date(new Date().getTime() + 1000 * 60 * 60)) // 토큰의 만료시간(1시간)
                .issueTime(new Date()) // 토큰이 발급된 시간
                .jwtID(UUID.randomUUID().toString()) // JWT의 고유 식별자
                .build();

        /** JWE Claim Encrypt */
        final EncryptedJWT encryptedJWE = new EncryptedJWT(header, payload);
        encryptedJWE.encrypt(encryptionKey);

        jwt = encryptedJWE.serialize();

    } catch (Exception e) {
        log.error("JWTCreate ERR Message :", e);
    }

    return jwt;
}

 

 

▷ 관련 글

 

JWE Example(nimbus)

JWE Create / Parse *JWT 관련 자세한 설명 생략 ▷ Example /** * JWE Create / Parse * * ▶ JWE(JSON WEB ENCRYPTION) *→ 서버와 클라이언트 간 암호화된 데이터를 Token 화 한것 *→ claim 암호화 * * ▶ JWT(JSON WEB TOKEN) *→

coding-today.tistory.com

 

Create RSA Keypair(.pem)

RSA Keypair 생성 메소드 /** * RSA Keypair(.pem) Create Method */ public static HashMap getKeypair() { HashMap keypairMap = new HashMap(); try { KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); keyPairGenerator.initialize(2048);

coding-today.tistory.com

 

VERIFY JWT(nimbus)

JWT 검증 메소드 *JWE *자세한 설명 생략 /** * JWT VERIFY * * @param HttpServletRequest * @param resVO * @return CmmResVO */ public CmmResVO JWTVerify(HttpServletRequest req, CmmResVO resVO) { try { final String jwt = req.getHeader("Authorization

coding-today.tistory.com

 

 

728x90
728x90

'▶ Back-End > Java' 카테고리의 다른 글

요청 필드 값 공통 체크  (0) 2023.10.12
VERIFY JWT(nimbus)  (0) 2023.10.12
SpringBoot Security Login 기능 추가  (4) 2023.09.26
Objcet to String  (0) 2023.09.21
@Value 사용법  (0) 2023.09.21

댓글