jam 블로그

[리눅스] openssl 키 생성 및 변환, 확인 본문

시스템/리눅스

[리눅스] openssl 키 생성 및 변환, 확인

kid1412 2010. 5. 17. 18:02
728x90

* 인증서 만료일 확인
openssl x509 -in /config/ssl/ssl.crt/default.crt -noout -enddate |cut -c10-40

* key, csr and crt 내용 확인
openssl rsa -noout -text -in /config/ssl/ssl.key/default.key
openssl req -noout -text -in /config/ssl/ssl.csr/default.csr
openssl x509 -noout -text -in /config/ssl/ssl.crt/default.crt

* 인증서과 개인키가 쌍이 맞는지 확인
<일반>
openssl rsa -in default.key -modulus -noout | openssl md5
openssl x509 -in default.crt -modulus -noout | openssl md5
openssl req -in default.csr -modulus -noout | openssl md5 <----- csr도 체크시

<BIG-IP: default.key and crt - for ssl profile>
openssl rsa -in /config/ssl/ssl.key/default.key -modulus -noout | openssl md5
openssl x509 -in /config/ssl/ssl.crt/default.crt -modulus -noout | openssl md5

<BIG-IP: server.key and crt - for device cert>
openssl rsa -in /config/httpd/conf/ssl.key/server.key -modulus -noout | openssl md5
openssl x509 -in /config/httpd/conf/ssl.crt/server.crt -modulus -noout | openssl md5

* 개인키 생성 (3가지)
openssl genrsa <--- 기본 512-bit 키로 생성. 기본 출력
openssl genrsa -out default.key 1024 <---- 1024-bit 키로 암호 구문없이 default.key 생성
openssl genrsa -des3 -out default.key 1024 <--------- pass phrase를 입력하여 생성

* 개인키에서 공개키 생성
openssl rsa -in default.key -pubout

* 개인키에서 자체서명 인증서 생성
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout default.key -out default.crt

* BIG-IP에서 개인키와 (자체서명) 인증서 생성
gencert -n default 1024 <---- 개인키 생성
openssl req -new -key /config/ssl/ssl.key/default.key -x509 -out /config/ssl/ssl.crt/default.crt
bigpipe load

* 키에서 password 제거한 키 재생성 (암호구문만 제거된 키. 다른 내용은 동일)
openssl rsa -in default.key -out default.key.unsecure <--- 새로 생성된 키는 server

* 개인키를 가지고 (베리사인에 등록할) csr 생성
openssl req -new -key default.key -out default.csr

* 원격지 cert 확인
openssl s_client -connect activate.f5.com:443  <-------- https:// 안붙임

* DER/PEM간 인증서/개인키 변경하기
1. cert
openssl x509 -in test.cer -inform DER -out cert.pem -outform PEM  <----- DER to PEM
openssl x509 -in test.cer -inform PEM -out output.cer -outform DER  <----- PEM to DER

2. key
openssl rsa -in cert.cer -inform DER -out outkey.cer -outform PEM  <----- DER to PEM
openssl rsa -in cert.cer -inform PEM -out outkey.cer -outform DER  <----- PEM to DER

* pfx에서 키 추출
openssl pkcs12 –in filename.pfx –nocerts –out key.pem

* pfx에서 인증서 추출
openssl pkcs12 –in filename.pfx –clcerts –nokeys –out cert.pem

* MD5와 SHA1 다이제스트 만들기
openssl dgst -md5 filename
openssl dgst -sha1 filename

* 개인키로 다이제스트 서명하기
openssl dgst -sha1 -sign default.key -out test.txt.sha1 test.txt

* 공개키로 서명된 다이제스트 확인하기
openssl dgst -sha1 -verify pub.key -signature test.txt.sha1 test.txt

* 간단하게 암호화 하기
openssl enc -aes-256-cbc -salt -in file.txt -out file.enc  <---- CBC 모드에서 256-bit AES 사용
openssl enc -d -aes-256-cbc -in file.enc <---- 복호화

openssl enc -aes-256-cbc -a -salt -in file.txt -out file.enc <---- base64 엔코딩 사용
openssl enc -d -aes-256-cbc -a -in file.enc <---- 복호화

 
Comments