본문 바로가기
DEVELOPMENT

SSL error: asn1 encoding routines: wrong tag 해결

by Z@__ 2022. 6. 23.
반응형

다른 기관에서 받은 인증서를 등록해 줄 일이 생겼다.

 

const https = require('https');
const fs = require('fs');
const options = {
  key: fs.readFileSync('인증서경로/sslcert.co.kr_xxxxx.key.pem'), (개인키 지정)
  cert: fs.readFileSync('인증서경로/sslcert.co.kr_xxxxx.crt.pem'), (서버인증서 지정)
  ca: fs.readFileSync('인증서경로/ca-chain-bundle.pem'), (루트체인 지정)
  minVersion: "TLSv1.2" (서버 환경에 따라 선택적 적용)
};
https.createServer(options, (req, res) => {
  res.writeHead(200);
  res.end('hello SecureSign\n');
}).listen(8000);

기존에 이렇게 인증서를 적용해주고 있었는데 다른 인증서를 등록하고 node를 실행했는데 다음과 같은 에러가 발생했다.

 

 

 

그래서 인증서에 문제가 있는지 하나씩 열어서 확인을 해보니, key 파일에 이상한 점이 있었다.

 

왼쪽: 문제의 키, 오른쪽: 정상작동하는 키

 

바로 키파일이 암호화가 되어있어 에러가 발생한 것이였다.

 

SSL 인증서 비밀키 암호화 해제를 진행했다.

 

기존 파일을 백업해두고

 

openssl rsa -in [암호화된 파일명] -out [복호화될 파일명]

암호입력

 

아래와 같이 복호화를 진행하고 인증서를 교체했더니 잘 작동한다.

 

 

참고: https://www.sslcert.co.kr/guides/Node-js-SSL-Certificates-Install

참고: https://customer.gabia.com/manual/cloud/8201/8202

반응형

댓글