java와는 약간 다르다...
키의 형태같은 것들이 다르기 때문에 애먹었던 적이 있다.
필요한 lib
- npm i crypto
- npm i express
publicKey와 privateKey의 type이 다름을 꼭 알고 넘어가야한다. 내가 알기로는 publicKey는 pkcs8로 생성하지 못한다...
이후 이렇게 생성된 키들을 위의 코드로 발급 가능하다.
콘솔을 찍어보면 키값을 확인하기 위해 export를 해줘야하는 것을 확인할 수 있다.
근데 굳이 저렇게 할 필요는 없다.
이렇게 바로 암호화가 가능하기 때문이다.
하지만 문제는 해당 키값을 클라이언트로 전달해줘야하는데 그냥은 전달해주지 못하기 때문에 반드시 키값을 얻는 방법을 알고 있어야한다.
API를 하나 만들어서 확인해보면
이렇게 암호화 값들이 들어오는 것을 확인할 수 있다.
여기서 특이한점은 ------BEGIN PUBLIC KEY -------- 와 같은 것들이다.
JAVA에서 생성할 때는 이런것들이 존재 하지 않았는데 참 어지럽다.
그래서 NODE에서 키발급을 하고 JAVA에서 암복호화할 경우 저 주석같은 것들을 반드시 삭제해주어야한다. (replaceAll)
NODE에서 암복호화 할경우에는 그냥 사용이 가능하다..
다음 포스팅에서는 저 값들을 JAVA에서 사용하게 되었을 때 어떻게 처리 해야하는지 확인해보고자 한다.
STRING값으로 전달해줄 예정인데 PRIVATEKEY 오브젝트 및 PUBLICKEY 오브젝트로 변환해주어야 하기 때문에 조금 코드가 길어지고 어지럽다...
[RSA] node 암호화 -> springboot 복호화 (0) | 2023.04.25 |
---|---|
[NODE+JAVA+MYSQL] RSA암호화키 저장하고 가져오기 (0) | 2023.04.20 |
JAVA RSA 암호화 및 복호화 Cipher (0) | 2023.04.15 |
JAVA RSA 키발급 (기초) (0) | 2023.04.14 |
댓글 영역