1. openssl 소개
데이터 암호화는 정보 전송에서 중요한 부분입니다. 정보를 일반 텍스트로 전송하는 것은 실제로 매우 안전하지 않습니다. 따라서
데이터를 암호화해야 합니다.
OpenSSL은 SSL/TLS 프로토콜용 암호화 도구 세트입니다.
1. 개인 키를 생성합니다. 즉, 한 방향으로 데이터를 암호화하고 해독하는 데 사용할 수 있는 공개 키가 포함된 디지털 서명 인증서입니다. 즉, 공개 키를 사용하여 암호화된 데이터는 개인 키를 사용하여만 해독할 수 있습니다.
3. 메시지 다이제스트를 계산합니다.
4. SSL/TLS 클라이언트 및 서버 측 테스트
2. 암호화 기술 소개
암호화란 평문의 비밀을 유지하기 위해 평문 데이터를 암호문 데이터로 변환하는 과정을 말합니다.
키: 암호화 알고리즘은 암호화된 데이터를 생성하기 위해 키로 특정 작업을 수행하여 일반 텍스트 데이터를 암호화합니다.
오늘날의 암호화 기술과 암호화 알고리즘은 공개되어 있습니다. 즉, 암호화에 사용되는 계산 방법은 누구나 알고 있지만, 암호문을 암호화하려면
키 보호가 핵심입니다.
3. openssl 도구 사용 소개
1. 개인 키 생성 방법
개인 키를 생성하려면 아래에 소개된 다양한 디지털 서명 알고리즘을 사용할 수 있습니다.
$ openssl dsaparam -noout -out dsakey0.pem -genkey 1024
#RSA 알고리즘 사용
$ openssl genrsa -out rsakey0 .pem 1024
#암호화/복호화 작업에 이 개인키를 사용할 경우 개인키를 보호하기 위해 비밀번호도 입력해야 합니다. 이 비밀번호를 입력해야 합니다.
$ openssl genrsa -des3 -out rsakey1.pem 10242. 공개키 생성 방법
개인키를 기반으로 공개키 생성
#DSA 알고리즘의 공개키 생성
$ openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem
#rsa 알고리즘의 공개 키 생성
$ openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub. pem3.자체 서명 인증서 생성 방법
#DSA 알고리즘 인증서 생성
$ openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new
#RSA 알고리즘 인증서 생성
$ openssl req -x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new
4. 이메일 암호화에 인증서 사용
일반 텍스트 메시지 내용:
$ cat test.txt
111111
222222
333333
aaaaaa
인증서를 사용하여 일반 텍스트 문자를 암호화하고 etest.txt 파일로 출력합니다.
$ openssl smime -encrypt -in test.txt -out etest.txt mycert-rsa.pem 암호화된 암호문 콘텐츠 보기:
$ cat etest.txt
MIME 버전: 1.0
Content -처리: filename="smime.p7m"
콘텐츠 유형: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m"
MIIBYAYJKoZIhvcNAQcDoIIBUTCCAU0CAQAxgewwgekCAQAwUjBFMQswCQYDVQQG
EwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lk
Z2l0cyBQdH kgTHRkAgkAr71mh4NRX/UwDQYJKoZIhvcNAQEBBQAEgYCbrA1WBwQK
Zj7TcNtrxiDz qMBc/Lu063SLKvBK6mQMqT+npFOOFtzIKdFVkldH0YyQhMZDSCyq
Da/DQN0sOCX85OdK/TDewNx8mTaYBbVf4jBZBgkqhkiG9w0BBwEwGgYIKoZIhvcN
AwI wDgICAKAAECNxsgiJ2 s+ 1ugdc6jknpl+rdybcddcyph+bmyjqrup0he/gq5wsj
sv8cdkoudvy5xg440yial3z3ysi = 개인 키를 사용하여 dtest.txt를 출력하고 출력합니다. txt 복호화된 편지 내용을 확인하세요.
$ cat dtest.txt
111111
222222
333333
aaaaaa
5. 암호화된 단순 파일
일반 텍스트 파일 내용:
$ cat test.txt
1
22
333
4444
55555
$ openssl enc -aes-256-cbc -salt -in test.txt -out test.enc
aes-256-cbc 암호화 비밀번호 입력:
확인 중 - aes-256-cbc 암호화 비밀번호 입력: 암호문을 해독하고, 해독 비밀번호로 "123123"을 입력합니다:
$ openssl enc -d -aes-256-cbc -in test.
aes-256-cbc 암호 해독 비밀번호 입력:
22
333
4444
안녕하세요
6. 단순 문자열 암호화
base64를 사용하여 암호화:
$ echo "encode me" | openssl enc -base64
ZW5jb2RlIG1lCg==복호화할 때 알아야 할 사항 암호화 알고리즘을 복호화하려면 다음을 수행하세요.
$ echo "ZW5jb2RlIG1lCg==" | openssl enc -base64 -d
encode me
개인 키와 인증서 "-www"를 사용하여 SSL 서버를 시작합니다. 클라이언트가 서버에 연결될 때 클라이언트에 상태 정보 웹 페이지를 보내는 기능입니다.
openssl s_client -connect localhost:4433
php php_openssl.dll의 역할 분석에 대한 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!