주 메뉴 열기

wwiki β

바뀜

Openssl

2,692 바이트 추가됨, 2022년 11월 17일 (목) 04:12
인증서와 개인키로 생성
===비밀번호 제거===
$ openssl rsa -in key.pem.orig -out key.pem
===개인키로 파일 암복호화===openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl;
==== 암호화 ====공개키로 암호화 $ openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl;  $ echo -n "" | openssl rsautl -encrypt -in - -inkey id_rsa.pub.pem -pubin | openssl base64 -A ==== 복호화 ====개인키로 복호하 $ openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt  $ echo "" | openssl base64 -d | openssl rsautl -decrypt -inkey id_rsa
==공개키 생성==
===인증서의 내용===
인증서는 pem포맷으로 윈도우의 경우 crt확장자를 인증서로 인식한다. 더블클릭하면 발급대상과 발급자가 있으며, 자세히를 보면 버전, 서명 알고리즘, 유효기간, 주체, 공개키 등이 있다.
 
===== 인증서 내용 보기 =====
$ openssl x509 -text -noout -in localhost.crt
=====웹서버용 인증서=====
[[Let's Encrypt certificate]] === 인증서 파일의 확장자 ===출처: https://ko.wikipedia.org/wiki/X.509 .CRT - CRT 암호화 된 인증서. 보통 개인키와 주는 파일 .CER - CER 암호화 된 인증서. 복수의 인증서도 가능. .DER - DER 암호화 된 인증서. .[[Openssl#PEM|PEM]] .P7B - .p7c 참조. .P7C - PKCS#7 서명 자료 구조(자료는 제외), 인증서이거나 CRL(복수도 가능). .PFX - .p12 참조. .P12 - PKCS#12, 공개 인증서와 암호로 보호되는 개인 키를 가질 수 있다(복수도 가능).
==pfx==
MS에서 사용하는 personal information exchange syntax standard(개인정보 교환 구문 표준)인 pkcs12포맷의 확장자
===인증서와 개인키로 생성===
crt(pem포맷의 인증서)와 key(pem포맷의 개인키)로부터 생성
$ openssl pkcs12 -export -out pkcs12.pfx -inkey privkey.pem -in fullchain.pem
  $ openssl pkcs12 -export -out certificatepkcs12.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
===인증서로 생성===
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
====개인키 추출:==== $ openssl.exe pkcs12 -in my.pfx -nocerts -nodes -out private.key ==SSL/TLS client program== $ openssl s_client $ openssl s_client -showcerts -connect wiki.wnote.kr:443 == 키 포맷 =='''PKCS'''(Public-Key Cryptography Standard) === RFC4716 ===The Secure Shell (SSH) Public Key File Format (https://www.ietf.org/rfc/rfc4716.txt) ---- BEGIN SSH2 PUBLIC KEY ----ssh-keygen (Version: 1:8.4p1-5)에서 왜 이렇게 ... -----BEGIN OPENSSH PRIVATE KEY----- === PKCS8 ===Private-Key Information Syntax Specification(https://datatracker.ietf.org/doc/html/rfc5208) 공개키 암호에서 사용되는 비밀키 값에 대한 문법을 정의한다. === PEM ===Privacy Enhanced Mail Textual Encodings of PKIX, PKCS, and CMS Structures(https://datatracker.ietf.org/doc/html/rfc7468) Base64로 인코딩 된 데이터가 header와 footer 사이에 들어간다. 인증서 경우엔 다음과 같다.<syntaxhighlight lang="text">-----BEGIN CERTIFICATE-----base64로 인코딩된 데이터-----END CERTIFICATE-----</syntaxhighlight>PKCS #8 Private Key 는 https://datatracker.ietf.org/doc/html/rfc7468#section-10 에 정의되어 있다. <syntaxhighlight lang="text">-----BEGIN PRIVATE KEY-----MIGEAgEAMBAGByqGSM49AgEGBSuBBAAKBG0wawIBAQQgVcB/UNPxalR9zDYAjQIfjojUDiQuGnSJrFEEzZPT/92hRANCAASc7UJtgnF/abqWM60T3XNJEzBv5ez9TdwKH0M6xpM2q+53wmsN/eYLdgtjgBd3DBmHtPilCkiFICXyaA8z9LkJ-----END PRIVATE KEY-----</syntaxhighlight> === 포맷 변경 ===pem을 crt로 변경 $ openssl x509 -in sample.pem -inform pem -out sample.crtpem 포맷 BEGIN RSA PUBLIC KEY => BEGIN PUBLIC KEY $ openssl rsa -RSAPublicKey_in -in 파일명 -pubout -out 출력파일명[[분류:보안]]
편집
2,431