Header Ads

OpenSSL 인증서 만들기


openssl.exe 파일을 만들었다.
실행을 해보면, 에러가 뜨는데..

WARNING: can't open config file /usr/local/ssl/openssl.cnf

usr/local/ssl 이 경로는 리눅스 경로인데,
윈도우에서 이런 에러가 뜬다는건 흠좀무이다.

openssl.cnf 파일은 apps 폴더 아래에 있으므로


set OPENSSL_CONF=c:\설치경로\openssl.cnf


명령어로 path 를 설정해준다.
그리고, 인증서 파일이 저장될 폴더도 하나 만들어 준다.
설치경로에 VerySign 이라는 이름의 폴더를 예제로 한다.

인증서를 만드는 과정은 아래 3단계로 요약된다.

Key 파일 생성 > CSR 파일 생성 > 인증서 파일 생성
하나씩 살펴보면

1. KEY 파일 생성


openssl genrsa -aes256 -out ../verysign/ca.key 2048


암호화를 위한 비밀번호를 결정해야 하는데,
두번 물어본다.
꼭 반드시 외워두자.
verysign 폴더 안에 key 파일이 생성되면,
보안을 위해 파일 > 우클릭 > 속성에서
일반 > 읽기전용
보안 > 권한을 모두 제거한다.

2. CSR 파일 생성


copy con ../verysign/ca.conf
[ req ]
default_bits            = 2048
default_md              = sha256
default_keyfile         = ca.key
distinguished_name      = req_distinguished_name
extensions              = v3_ca
req_extensions          = v3_ca
  
[ v3_ca ]
basicConstraints         = critical, CA:TRUE, pathlen:0
subjectKeyIdentifier     = hash
##authorityKeyIdentifier = keyid:always, issuer:always
keyUsage                 = keyCertSign, cRLSign
nsCertType               = sslCA, emailCA, objCA

[req_distinguished_name ]
countryName                     = Country Name (2 letter code)
countryName_default             = KR
countryName_min                 = 2
countryName_max                 = 2
 
organizationName                = Organization Name (eg, company)
organizationName_default        = Organization Name Inc.
  
#organizationalUnitName         = Organizational Unit Name (eg, section)
#organizationalUnitName_default = Condor Project
  
commonName                      = Common Name (eg, your name or your server's hostname)
commonName_default              = CommonName's Self Signed CA
commonName_max                  = 64 


입력을 다하고 Ctrl+Z 하면 파일이 생성된다.
CSR 파일을 생성하기 위해 다음과 같이 입력한다.

openssl req -new -key ../verysign/ca.key -out ../verysign/ca.csr -config ../verysign/ca.conf


3. 인증서 파일 생성

openssl x509 -req -sha256 -days 365 -extensions v3_ca -set_serial 1 -in ../verysign/ca.csr -signkey ../verysign/ca.key -out ../verysign/ca.crt -extfile ../verysign/ca.conf


365일 (1년) 동안 유효한 인증서가 만들어 졌다.
인증서를 확인해 보려면, 다음과 같이 입력한다.

openssl x509 -text -in ../verysign/ca.crt


참고 사이트
https://www.openssl.org/docs/
https://www.lesstif.com/pages/viewpage.action?pageId=6979614
http://dimdim.tistory.com/entry/openssl-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EC%83%9D%EC%84%B1

No comments

Copyright 2016, minki. All rights reserved. Powered by Blogger.