0Pricing
Cryptology Academy · 강의

OpenSSL 명령줄 핵심

키 생성, 암호화, 해시 계산, 인증서 검사에 필요한 핵심 OpenSSL 명령을 익힙니다.

OpenSSL 명령줄 핵심은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

OpenSSL 버전 및 빌드 정보

"openssl version -a" 명령어는 OpenSSL 버전, 빌드 날짜, 컴파일러 및 구성된 옵션을 표시합니다. OpenSSL 1.0.x, 1.1.x, 3.x 사이에는 암호화 기능과 기본값이 크게 다르므로 버전을 확인하는 것이 중요합니다. 보안을 위해 최신 버전에서는 오래된 알고리즘이 기본적으로 비활성화되어 있는 경우가 많습니다.

RSA 키 생성

"openssl genrsa -out private.pem 4096" 명령어는 PEM 형식의 4096비트 RSA 개인 키를 생성합니다. 운영 환경에서는 2048비트가 최소 기준이고, 3072비트는 약 128비트 보안을 제공하며, 4096비트는 추가적인 여유를 제공합니다. 명령어에 "-aes256"을 추가하면 저장 중인 키를 AES로 암호화할 수 있으며, 암호 문구를 입력하라는 메시지가 표시됩니다.

EC 키 생성

타원 곡선 키는 두 단계로 생성합니다. 먼저 "openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem" 명령어로 P-256 곡선을 사용하는 EC 개인 키를 생성합니다. 다른 방법으로는 최신 genpkey 인터페이스를 사용하는 "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -out ec_private.pem" 명령어가 있으며, 새 코드에 사용하는 방법으로 권장됩니다.

키 세부 정보 보기

RSA 키의 경우 "openssl rsa -text -noout -in private.pem" 명령어로 키 내용을 검사할 수 있으며, 모듈러, 공개 지수 및 소인수가 표시됩니다. EC 키의 경우 "openssl ec -text -noout -in ec_private.pem" 명령어로 곡선 이름과 키 값을 표시할 수 있습니다. "-noout" 플래그는 PEM으로 인코딩된 출력을 억제합니다.

무작위 데이터 생성

OpenSSL은 암호학적으로 안전한 무작위 바이트를 생성할 수 있습니다. "openssl rand -hex 32" 명령어는 32개의 무작위 바이트를 16진수로 출력하며, 이는 16진수 문자 64개에 해당하고 대칭 키나 논스를 생성하는 데 적합합니다. "openssl rand -base64 32" 명령어는 무작위 바이트를 base64로 인코딩하여 출력합니다. 이 기능은 OS 엔트로피 소스(Unix 시스템의 /dev/urandom)를 사용합니다.

해시 계산

"openssl dgst" 명령은 메시지 다이제스트를 계산합니다. "openssl dgst -sha256 file.txt"는 파일의 SHA-256 해시를 계산합니다. "openssl dgst -sha256 -hmac key file.txt"는 HMAC-SHA256을 계산합니다. "openssl dgst -sha256 -sign private.pem -out sig.bin file.txt"는 파일에 대한 디지털 서명을 생성합니다.

파일 암호화

대칭 키를 사용하는 파일 암호화에는 "openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin"을 사용합니다. "-pbkdf2" 플래그는 암호 구문에서 키를 파생할 때 PBKDF2를 사용하며, 더 이상 사용되지 않는 EVP_BytesToKey를 대체합니다. 복호화에는 "openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out decrypted.txt"를 사용합니다. 새 코드에서는 AES-256-GCM과 같은 AEAD 모드를 선호합니다.

PEM 및 DER 형식 변환

인증서와 키는 두 가지 인코딩 형식으로 존재합니다. PEM은 헤더와 푸터 줄(-----BEGIN CERTIFICATE-----)이 있는 Base64 인코딩 형식으로, 대부분의 Unix 도구에서 사용됩니다. DER은 이진 인코딩 형식으로, Java와 Windows에서 사용됩니다. PEM을 DER로 변환하려면 "openssl x509 -inform PEM -outform DER -in cert.pem -out cert.der"를 사용합니다. DER을 PEM으로 변환하려면 -inform 및 -outform 플래그를 반대로 지정합니다.

서명 검증

디지털 서명은 "openssl dgst -sha256 -verify public.pem -signature sig.bin file.txt"로 검증합니다. 먼저 공개 키를 추출해야 합니다: "openssl rsa -pubout -in private.pem -out public.pem". 인증서 기반 검증에는 "openssl verify -CAfile ca.pem cert.pem"을 사용하여 지정한 CA 체인을 기준으로 인증서를 확인합니다.

인증서 세부 정보 확인

인증서 검사는 가장 일반적인 OpenSSL 작업 중 하나입니다. "openssl x509 -text -noout -in cert.pem"은 주체, 발급자, 유효 날짜, SAN, 확장 기능을 비롯한 모든 인증서 항목을 표시합니다. "openssl x509 -enddate -noout -in cert.pem"은 만료 날짜만 표시하므로 모니터링 스크립트에서 유용합니다.

TLS 서버에 연결

"openssl s_client -connect example.com:443 -servername example.com"은 TLS 연결을 설정하고 서버의 인증서 체인, 협상된 TLS 버전 및 암호 스위트를 표시합니다. "-showcerts"를 추가하면 체인의 모든 인증서가 표시됩니다. 이 명령은 인증서 체인 문제, TLS 버전 문제 및 OCSP 스테이플링 문제를 해결할 때 매우 유용합니다.

OpenSSL genrsa 확인

"openssl genrsa -aes256 -out private.pem 2048" 명령은 무엇을 수행합니까?

학습 내용 정리: OpenSSL CLI 기본

OpenSSL은 키 생성(genrsa, genpkey), 형식 변환(PEM/DER), 무작위 데이터 생성(rand), 해시 계산 및 서명(dgst), 파일 암호화(enc), 인증서 검사(x509 -text), 체인 검증(verify), TLS 문제 해결(s_client)을 위한 명령을 제공합니다. 이러한 명령은 일상적인 인증서 및 암호화 작업의 대부분을 처리합니다.

자주 묻는 질문

“OpenSSL 명령줄 핵심” 강의는 무료인가요?

네 — “OpenSSL 명령줄 핵심” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“OpenSSL 명령줄 핵심”에서 뭘 배우나요?

키 생성, 암호화, 해시 계산, 인증서 검사에 필요한 핵심 OpenSSL 명령을 익힙니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“OpenSSL 명령줄 핵심” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. OpenSSL 명령줄 핵심
  2. 인증서 체인 생성 및 관리
  3. OCSP 스테이플링과 인증서 투명성
  4. Let's Encrypt와 ACME 프로토콜 자동화
← Cryptology Academy(으)로 돌아가기