이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 x509ssl 명령입니다.
프로그램:
이름
x509 - 인증서 표시 및 서명 유틸리티
개요
하려면 openssl x509 [-알리다 DER|PEM|NET] [- outform DER|PEM|NET] [-키폼 더|펨] [-CAform
더|펨] [-CA키폼 더|펨] [~에서 파일 이름] [-아웃 파일 이름] [-연속물] [-해시시]
[-subject_hash] [-issuer_hash] [-ocspid] [-주제] [-발급자] [-nameopt option] [-이메일]
[-ocsp_uri] [-시작일] [-종료일] [-목적] [-날짜] [-체크엔드 NUM] [-계수]
[-펍키] [-지문] [-별명] [- noout] [-신뢰] [-clrtrust] [-clr거부] [-신뢰 추가
아르헨티나] [-거부하다 아르헨티나] [-setalias 아르헨티나] [-일 아르헨티나] [-set_serial n] [-사인키 파일 이름]
[-패신 아르헨티나] [-x509toreq] [-요구] [-캘리포니아 파일 이름] [-CA키 파일 이름] [-CAcreateserial]
[-CASerial 파일 이름] [-force_pubkey 키] [-본문] [-certopt option] [-C]
[-md2|-md5|-sha1|-mdc2] [-clrext] [-extfile 파일 이름] [-확장 섹션에 있어야 합니다.] [-엔진 id]
기술
The x509 명령은 다목적 인증서 유틸리티입니다. 표시하는 데 사용할 수 있습니다.
인증서 정보, 인증서를 다양한 형태로 변환, 인증서 요청에 서명
"미니 CA"와 같거나 인증서 신뢰 설정을 편집할 수 있습니다.
옵션이 많기 때문에 다양한 섹션으로 나누어집니다.
옵션
입력, 출력 및 일반 목적 옵션
-알리다 DER|PEM|NET
이는 일반적으로 명령이 X509 인증서를 기대하는 입력 형식을 지정합니다.
하지만 이는 다음과 같은 다른 옵션이 있는 경우 변경될 수 있습니다. -요구 존재합니다. DER 형식은
인증서의 DER 인코딩과 PEM은 DER 인코딩의 base64 인코딩입니다.
머리글과 바닥글 줄이 추가되었습니다. NET 옵션은 잘 알려지지 않은 Netscape 서버입니다.
이제 더 이상 사용되지 않는 형식입니다.
- outform DER|PEM|NET
이것은 출력 형식을 지정하며 옵션은 다음과 같은 의미를 갖습니다. -알리다
옵션을 선택합니다.
~에서 파일 이름
인증서를 읽을 입력 파일 이름이나 표준 입력을 지정합니다.
옵션이 지정되지 않았습니다.
-아웃 파일 이름
이는 기본적으로 쓸 출력 파일 이름이나 표준 출력을 지정합니다.
-md2|-md5|-sha1|-mdc2
사용할 다이제스트. 이는 메시지를 사용하는 모든 서명 또는 표시 옵션에 영향을 미칩니다.
와 같은 다이제스트 -지문, -사인키 그리고 -캘리포니아 옵션. 지정하지 않으면 SHA1
사용. 서명에 사용되는 키가 DSA 키인 경우 이 옵션에는
효과: SHA1은 항상 DSA 키와 함께 사용됩니다.
-엔진 id
엔진 지정(고유한 id 문자열) 원인 x509 얻기 위해 시도하다
지정된 엔진에 대한 기능 참조, 따라서 필요한 경우 초기화합니다. NS
엔진은 사용 가능한 모든 알고리즘의 기본값으로 설정됩니다.
DISPLAY 옵션
참고 : -별명 그리고 -목적 옵션도 표시 옵션이지만 자세한 내용은
믿어 설정 안내
-본문
인증서를 텍스트 형식으로 인쇄합니다. 공개를 포함한 전체 내용이 출력됩니다.
키, 서명 알고리즘, 발급자 및 주체 이름, 일련번호 모든 확장자
현재 및 모든 신뢰 설정.
-certopt option
사용되는 출력 형식을 사용자 정의 -본문. 그만큼 option 인수는 단일일 수 있습니다.
옵션 또는 여러 옵션을 쉼표로 구분합니다. 그만큼 -certopt 스위치도 될 수 있습니다
여러 옵션을 설정하기 위해 두 번 이상 사용되었습니다. 참조 TEXT 옵션 더 많은 섹션
정보.
- noout
이 옵션은 인코딩된 요청 버전의 출력을 방지합니다.
-펍키
인증서의 SubjectPublicKeyInfo 블록을 PEM 형식으로 출력합니다.
-계수
이 옵션은 다음에 포함된 공개 키의 모듈러스 값을 인쇄합니다.
증명서.
-연속물
인증서 일련번호를 출력합니다.
-subject_hash
인증서 주체 이름의 "해시"를 출력합니다. 이는 OpenSSL에서
디렉터리의 인증서를 주체 이름으로 조회할 수 있도록 하는 색인입니다.
-issuer_hash
인증서 발급자 이름의 "해시"를 출력합니다.
-ocspid
주체 이름과 공개 키에 대한 OCSP 해시 값을 출력합니다.
-해시시
이전 버전과의 호환성을 위해 "-subject_hash"와 동의어입니다.
-subject_hash_old
사용된 이전 알고리즘을 사용하여 인증서 주체 이름의 "해시"를 출력합니다.
1.0.0 이전의 OpenSSL 버전.
-issuer_hash_old
에서 사용하는 이전 알고리즘을 사용하여 인증서 발급자 이름의 "해시"를 출력합니다.
OpenSSL 버전 1.0.0 이전.
-주제
주체 이름을 출력합니다.
-발급자
발급자 이름을 출력합니다.
-nameopt option
주체 또는 발급자 이름이 표시되는 방식을 결정하는 옵션입니다. 그만큼 option
인수는 단일 옵션이거나 쉼표로 구분된 여러 옵션일 수 있습니다.
또는 -nameopt 스위치를 두 번 이상 사용하여 여러 옵션을 설정할 수 있습니다.
을 참조 이름 옵션 자세한 내용은 섹션을 참조하십시오.
-이메일
이메일 주소가 있는 경우 이를 출력합니다.
-ocsp_uri
OCSP 응답자 주소가 있는 경우 이를 출력합니다.
-시작일
인증서의 시작 날짜, 즉 notBefore 날짜를 인쇄합니다.
-종료일
인증서의 만료 날짜, 즉 notAfter 날짜를 인쇄합니다.
-날짜
인증서의 시작 날짜와 만료 날짜를 인쇄합니다.
-체크엔드 아르헨티나
인증서가 다음 기간 내에 만료되는지 확인합니다. 아르헨티나 초이고 다음과 같은 경우 XNUMX이 아닌 값으로 종료됩니다.
예, 만료되거나 그렇지 않은 경우 XNUMX이 됩니다.
-지문
전체 인증서의 DER 인코딩 버전 다이제스트를 인쇄합니다(다이제스트 참조).
옵션).
-C 그러면 C 소스 파일 형식으로 인증서가 출력됩니다.
믿어 설정
이 옵션은 현재 실험적이며 변경될 수 있습니다.
A 신뢰할 수있는 증명서 여러 개의 추가 부분이 포함된 일반 인증서입니다.
인증서의 허용 및 금지된 사용과 같은 첨부된 정보
그리고 "별칭".
일반적으로 인증서를 확인할 때 적어도 하나의 인증서가 "신뢰"되어야 합니다.
기본적으로 신뢰할 수 있는 인증서는 로컬에 저장되어야 하며 루트 CA여야 합니다.
그러면 이 CA로 끝나는 인증서 체인을 어떤 목적으로든 사용할 수 있습니다.
신뢰 설정은 현재 루트 CA에서만 사용됩니다. 이를 통해 더 세밀한 제어가 가능합니다.
루트 CA를 사용할 수 있는 목적은 다음과 같습니다. 예를 들어 CA는 SSL 클라이언트에 대해 신뢰할 수 있지만
SSL 서버 사용이 아닙니다.
설명을 참조하십시오. 확인 신뢰의 의미에 대한 자세한 정보를 보려면 유틸리티를 사용하세요.
설정.
OpenSSL의 향후 버전에서는 루트뿐만 아니라 모든 인증서의 신뢰 설정을 인식합니다.
CA.
-신뢰
이로 인해 x509 출력하려면 신뢰할 수있는 자격증. 일반 또는 신뢰할 수 있는 인증서
입력할 수 있지만 기본적으로 일반 인증서가 출력되며 모든 신뢰 설정은
폐기됩니다. 와 더불어 -신뢰 옵션으로 신뢰할 수 있는 인증서가 출력됩니다. 신뢰할 수 있는
신뢰 설정이 수정되면 인증서가 자동으로 출력됩니다.
-setalias 아르헨티나
인증서의 별칭을 설정합니다. 이렇게 하면 인증서를 참조할 수 있습니다.
예를 들어 "Steve's Certificate"와 같은 별명을 사용합니다.
-별명
인증서 별칭이 있는 경우 이를 출력합니다.
-clrtrust
인증서의 허용되거나 신뢰할 수 있는 사용을 모두 지웁니다.
-clr거부
인증서의 금지되거나 거부된 사용을 모두 지웁니다.
-신뢰 추가 아르헨티나
신뢰할 수 있는 인증서 사용을 추가합니다. 여기서는 모든 개체 이름을 사용할 수 있지만 현재는
클라이언트 인증 (SSL 클라이언트 사용), 서버 인증 (SSL 서버 사용) 및 이메일 보호 (S/MIME
이메일)을 사용합니다. 다른 OpenSSL 애플리케이션은 추가 용도를 정의할 수 있습니다.
-거부하다 아르헨티나
금지된 용도를 추가합니다. 이는 다음과 동일한 값을 허용합니다. -신뢰 추가 옵션을 선택합니다.
-목적
이 옵션은 인증서 확장에 대한 테스트를 수행하고 결과를 출력합니다. 을 위한
더 자세한 설명은 다음을 참조하세요. CERTIFICATE 확장 안내
서명 옵션
The x509 유틸리티는 인증서와 요청에 서명하는 데 사용될 수 있습니다. 따라서 유틸리티는
"미니 CA".
-사인키 파일 이름
이 옵션을 사용하면 제공된 개인 키를 사용하여 입력 파일이 자체 서명됩니다.
입력 파일이 인증서인 경우 발급자 이름을 주체 이름으로 설정합니다(예:
자체 서명됨) 공개 키를 제공된 값으로 변경하고
시작 및 종료 날짜. 시작 날짜는 현재 시간으로 설정되고 종료 날짜는 설정됩니다.
의해 결정된 값으로 -일 옵션. 모든 인증서 확장은 유지됩니다.
그렇지 않으면 -clrext 옵션이 제공됩니다.
입력이 인증서 요청인 경우 다음을 사용하여 자체 서명된 인증서가 생성됩니다.
요청의 주체 이름을 사용하여 제공된 개인 키.
-패신 아르헨티나
키 암호 소스. 형식에 대한 자세한 내용은 아르헨티나 ~을 보아라. PASS
구 인수 ~의 섹션 하려면 openssl(1).
-clrext
인증서에서 확장자를 삭제합니다. 이 옵션은 인증서가 있을 때 사용됩니다.
다른 인증서에서 생성되는 경우(예: -사인키 또는 -캘리포니아
옵션). 일반적으로 모든 확장자는 유지됩니다.
-키폼 펨|더
사용되는 개인 키 파일의 형식(DER 또는 PEM)을 지정합니다. -사인키 옵션을 선택합니다.
-일 아르헨티나
인증서를 유효하게 하는 일수를 지정합니다. 기본값은 30일입니다.
-x509toreq
인증서를 인증서 요청으로 변환합니다. 그만큼 -사인키 옵션은 통과하는 데 사용됩니다.
필수 개인 키.
-요구
기본적으로 입력 시 인증서가 필요합니다. 이 옵션을 사용하면 인증서 요청
대신 예상됩니다.
-set_serial n
사용할 일련번호를 지정합니다. 이 옵션은 다음 중 하나와 함께 사용할 수 있습니다. -사인키
or -캘리포니아 옵션. 와 함께 사용하는 경우 -캘리포니아 옵션 일련번호 파일(
에 의해 지정된 -CASerial or -CAcreateserial 옵션)은 사용되지 않습니다.
일련 번호는 XNUMX진수 또는 XNUMX진수일 수 있습니다. 0x). 음수 일련번호
지정할 수도 있지만 사용하지 않는 것이 좋습니다.
-캘리포니아 파일 이름
서명에 사용할 CA 인증서를 지정합니다. 이 옵션이 있는 경우 x509
"미니 CA"처럼 동작합니다. 입력 파일은 이 옵션을 사용하여 이 CA에 의해 서명됩니다.
발급자 이름이 CA의 주체 이름으로 설정되어 있고 디지털 서명되어 있습니까?
CA의 개인 키를 사용합니다.
이 옵션은 일반적으로 다음과 결합됩니다. -요구 옵션. 없이 -요구 옵션
입력은 자체 서명되어야 하는 인증서입니다.
-CA키 파일 이름
인증서에 서명하는 데 사용할 CA 개인 키를 설정합니다. 이 옵션이 지정되지 않은 경우
그런 다음 CA 개인 키가 CA 인증서 파일에 존재한다고 가정합니다.
-CASerial 파일 이름
사용할 CA 일련 번호 파일을 설정합니다.
때 -캘리포니아 옵션은 인증서에 서명하는 데 사용되며 다음에 지정된 일련 번호를 사용합니다.
파일. 이 파일은 짝수 개의 XNUMX진수를 포함하는 한 줄로 구성됩니다.
사용할 일련 번호. 사용할 때마다 일련번호가 증가하여 기록됩니다.
파일에 다시.
기본 파일 이름은 ".srl"을 포함한 CA 인증서 파일 기본 이름으로 구성됩니다.
첨부됨. 예를 들어 CA 인증서 파일이 "mycacert.pem"이라고 하면
"mycacert.srl"이라는 일련번호 파일을 찾으세요.
-CAcreateserial
이 옵션을 사용하면 CA 일련 번호 파일이 존재하지 않는 경우 생성됩니다.
일련 번호 "02"가 포함되어 있으며 서명되는 인증서에는 1이 포함됩니다.
일련 번호. 일반적으로 -캘리포니아 옵션이 지정되어 있고 일련 번호 파일이
존재하지 않는 것은 오류입니다.
-extfile 파일 이름
사용할 인증서 확장이 포함된 파일입니다. 지정하지 않으면 확장자가 없습니다.
인증서에 추가되었습니다.
-확장 섹션에 있어야 합니다.
인증서 확장을 추가할 섹션입니다. 이 옵션을 지정하지 않으면
확장자는 이름이 지정되지 않은(기본값) 섹션에 포함되거나
기본 섹션에는 다음을 포함하는 "extensions"라는 변수가 포함되어야 합니다.
섹션을 사용합니다. 참조 x509v3_config(5) 확장에 대한 자세한 내용은 매뉴얼 페이지
섹션 형식.
-force_pubkey 키
인증서가 생성되면 공개 키를 다음으로 설정합니다. 키 열쇠 대신에
인증서 또는 인증서 요청. 이 옵션은 인증서 생성에 유용합니다.
여기서 알고리즘은 일반적으로 요청에 서명할 수 없습니다(예: DH).
형식이나 키 를 사용하여 지정할 수 있습니다. -키폼 옵션을 선택합니다.
이름 옵션
The 이름 선택 명령줄 스위치는 주체 및 발급자 이름이 표시되는 방식을 결정합니다.
없는 경우 이름 선택 스위치가 존재하면 호환되는 기본 "oneline" 형식이 사용됩니다.
이전 버전의 OpenSSL을 사용합니다. 각 옵션은 아래에 자세히 설명되어 있으며, 모든 옵션은
앞에는 - 옵션을 끄려면. 일반적으로 처음 XNUMX개만 사용됩니다.
동료
이전 형식을 사용하세요. 이는 이름 옵션을 전혀 지정하지 않는 것과 같습니다.
RFC2253
RFC2253과 호환되는 이름을 표시합니다. esc_2253, esc_ctrl, esc_msb,
utf8, dump_nostr, 덤프_알 수 없음, 덤프더, sep_comma_plus, dn_rev 그리고 사기.
한 줄
RFC2253보다 읽기 쉬운 온라인 형식입니다. 지정하는 것과 같습니다.
전에, esc_2253, esc_ctrl, esc_msb, utf8, dump_nostr, 덤프더, use_quote,
sep_comma_plus_space, space_eq 그리고 사기 옵션을 제공합니다.
여러
여러 줄 형식. 그것은 동등하다 esc_ctrl, esc_msb, sep_multiline, space_eq, 이름
그리고 일직선으로하다.
esc_2253
필드에서 RFC2253에 필요한 "특수" 문자를 이스케이프합니다. ,+"<>;.
또한 # 문자열의 시작 부분에서 이스케이프되고 공백 문자는
문자열의 시작 또는 끝.
esc_ctrl
이스케이프 제어 문자. 이는 0x20(공백)보다 작은 ASCII 값을 가진 것과
삭제(0x7f) 문자. RFC2253 \XX 표기법을 사용하여 이스케이프됩니다(여기서 XX
문자 값을 나타내는 두 개의 XNUMX진수입니다).
esc_msb
MSB가 설정된 이스케이프 문자, 즉 127보다 큰 ASCII 값을 사용합니다.
use_quote
전체 문자열을 둘러싸서 일부 문자를 이스케이프합니다. " 문자, 없는
모든 이스케이프 옵션은 다음과 같이 수행됩니다. \ 문자.
utf8
먼저 모든 문자열을 UTF8 형식으로 변환하십시오. 이는 RFC2253에서 요구됩니다. 당신이있는 경우
운이 좋게도 UTF8 호환 터미널이 있고 이 옵션을 사용할 수 있습니다(그리고 지원
설정 esc_msb)를 사용하면 멀티바이트(국제)가 올바르게 표시될 수 있습니다.
문자. 이 옵션이 없으면 0xff보다 큰 멀티바이트 문자가 있습니까?
16비트의 경우 \UXXXX, 32비트의 경우 \WXXXXXXXX 형식을 사용하여 표시됩니다.
또한 이 옵션이 꺼져 있으면 모든 UTF8String이 문자 형식으로 변환됩니다.
먼저.
무시_유형
이 옵션은 어떤 방식으로든 멀티바이트 문자를 해석하려고 시도하지 않습니다. 그건
해당 콘텐츠 옥텟은 마치 하나의 옥텟이 각 문자를 나타내는 것처럼 덤프됩니다.
이는 진단 목적으로는 유용하지만 출력 결과가 다소 이상해 보일 수 있습니다.
show_type
ASN1 문자열의 유형을 표시합니다. 유형은 필드 내용 앞에 옵니다. 을 위한
예: "BMPSTRING: Hello World".
덤프더
이 옵션이 설정되면 XNUMX진수 덤프가 필요한 모든 필드는 다음을 사용하여 덤프됩니다.
필드의 DER 인코딩. 그렇지 않으면 콘텐츠 옥텟만 표시됩니다. 둘 다
옵션은 RFC2253을 사용합니다. #XXXX... 형식입니다.
dump_nostr
이 옵션이 설정되지 않은 경우 문자열이 아닌 유형(예: OCTET STRING)을 덤프합니다.
그러면 문자열이 아닌 유형은 각 콘텐츠 옥텟처럼 표시됩니다.
단일 문자를 나타냅니다.
덤프_모두
모든 필드를 덤프하십시오. 이 옵션은 다음과 함께 사용될 때 덤프더 DER 인코딩을 허용합니다.
확실하게 결정되는 구조입니다.
덤프_알 수 없음
OpenSSL에서 OID가 인식되지 않는 모든 필드를 덤프합니다.
sep_comma_plus, sep_comma_plus_space, sep_semi_plus_space, sep_multiline
이러한 옵션은 필드 구분자를 결정합니다. 첫 번째 문자는 RDN과
여러 AVA 사이의 두 번째(여러 AVA는 매우 드물며 그 사용은
낙담). "space"로 끝나는 옵션은 뒤에 공백을 추가로 배치합니다.
가독성을 높이기 위해 구분 기호를 사용합니다. 그만큼 sep_multiline 줄바꿈 문자를 사용합니다.
RDN 구분 기호와 공백 + AVA 분리기의 경우. 또한 다음과 같이 필드를 들여쓰기합니다.
네 글자. 필드 구분 기호가 지정되지 않은 경우 sep_comma_plus_space 사용
기본적으로
dn_rev
DN의 필드를 반대로 바꿉니다. 이는 RFC2253에서 요구됩니다. 이것도 부작용으로
여러 AVA의 순서를 반대로 바꾸는 것은 허용됩니다.
이름 없음, 사기, 이름, OID
이러한 옵션은 필드 이름이 표시되는 방식을 변경합니다. 이름 없음 표시하지 않습니다
전혀 필드. 사기 "짧은 이름" 형식을 사용합니다(예: commonName의 경우 CN). 이름
긴 형식을 사용합니다. OID OID를 숫자 형식으로 나타내며 다음과 같은 경우에 유용합니다.
진단 목적.
일직선으로하다
더 읽기 쉬운 출력을 위해 필드 값을 정렬합니다. 에서만 사용 가능 sep_multiline.
space_eq
주위에 공간을 배치 = 필드 이름 뒤에 오는 문자입니다.
TEXT 옵션
이름 출력 형식을 사용자 정의하는 것뿐만 아니라 실제 사용자 정의도 가능합니다.
다음을 사용하여 인쇄된 필드 인증서 옵션이 본문 옵션이 존재합니다. 기본값
동작은 모든 필드를 인쇄하는 것입니다.
호환
이전 형식을 사용하세요. 이는 출력 옵션을 전혀 지정하지 않는 것과 같습니다.
no_header
헤더 정보를 인쇄하지 마십시오. "인증서" 및 "데이터"를 나타내는 줄입니다.
no_version
버전 번호를 인쇄하지 마세요.
no_serial
일련번호를 인쇄하지 마세요.
no_signname
사용된 서명 알고리즘을 인쇄하지 마세요.
유효하지 않음
유효성을 인쇄하지 마십시오. 아니전 그리고 아니후 입력란에 입력 할 수 있습니다.
no_subject
제목 이름을 인쇄하지 마세요.
no_issuer
발행자 이름을 인쇄하지 마십시오.
no_pubkey
공개 키를 인쇄하지 마세요.
no_sigdump
인증서 서명의 XNUMX진수 덤프를 제공하지 마세요.
no_aux
인증서 신뢰 정보를 인쇄하지 마세요.
확장 없음
X509V3 확장을 인쇄하지 마십시오.
ext_default
기본 확장 동작 유지: 지원되지 않는 인증서를 인쇄하려고 시도합니다.
확장.
ext_error
지원되지 않는 인증서 확장에 대한 오류 메시지를 인쇄합니다.
ext_parse
ASN1은 지원되지 않는 확장을 구문 분석합니다.
ext_dump
XNUMX진 덤프 지원되지 않는 확장.
ca_default
에서 사용하는 값 ca 유틸리티 no_issuer, no_pubkey, no_header,
no_version, no_sigdump 그리고 no_signname.
사용 예
참고: 이 예에서 '\'는 예가 모두 한 줄에 있어야 함을 의미합니다.
인증서 내용을 표시합니다.
openssl x509 -in cert.pem -noout -text
인증서 일련번호를 표시합니다.
openssl x509 -in cert.pem -noout -직렬
인증서 주체 이름을 표시합니다.
openssl x509 -in cert.pem -noout -subject
RFC2253 형식으로 인증서 주체 이름을 표시합니다.
openssl x509 -in cert.pem -noout -subject -nameopt RFC2253
UTF8을 지원하는 터미널에 인증서 주체 이름을 온라인 형식으로 표시합니다.
openssl x509 -in cert.pem -noout -subject -nameopt oneline,-esc_msb
인증서 MD5 지문을 표시합니다.
openssl x509 -in cert.pem -noout -fingerprint
인증서 SHA1 지문을 표시합니다.
openssl x509 -sha1 -in cert.pem -noout -fingerprint
인증서를 PEM에서 DER 형식으로 변환합니다.
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
인증서를 인증서 요청으로 변환합니다.
openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem
CA 확장을 사용하여 인증서 요청을 자체 서명된 인증서로 변환합니다.
openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca \
-signkey key.pem -out cacert.pem
위의 CA 인증서를 사용하여 인증서 요청에 서명하고 사용자 인증서를 추가하세요.
확장명 :
openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr \
-CA cacert.pem -CAkey key.pem -CAcreateserial
SSL 클라이언트 사용을 위해 신뢰할 수 있는 인증서를 설정하고 별칭을 "Steve's"로 변경합니다.
클래스 1 CA"
openssl x509 -in cert.pem -addtrust clientAuth \
-setalias "스티브의 클래스 1 CA" -out trust.pem
노트
PEM 형식은 머리글과 바닥글 줄을 사용합니다.
----- 인증서 시작 -----
----- 종료 증명서 -----
또한 다음을 포함하는 파일도 처리합니다.
-----X509 인증서 시작----
-----X509 인증서 종료----
신뢰할 수 있는 인증서에는 다음 줄이 있습니다.
-----신뢰할 수 있는 인증서 시작----
-----신뢰할 수 있는 인증서 종료----
이름 옵션과 함께 사용되는 UTF8 형식으로의 변환은 T61Strings가
ISO8859-1 문자 세트. 이것은 잘못된 것이지만 Netscape와 MSIE는 많은 사람들이 하는 것처럼 이 작업을 수행합니다.
인증서. 따라서 이것이 부정확하더라도 대부분의 내용을 표시할 가능성이 더 높습니다.
인증서를 올바르게.
The -지문 옵션은 DER로 인코딩된 인증서의 다이제스트를 사용합니다. 이는 일반적으로
"지문"이라고 합니다. 메시지의 특성상 지문을 소화합니다.
인증서는 해당 인증서에 고유하며 동일한 지문을 가진 두 개의 인증서가 있습니다.
동일하다고 볼 수 있습니다.
Netscape 지문은 MD5를 사용하는 반면 MSIE는 SHA1을 사용합니다.
The -이메일 옵션은 주체 이름과 주체 대체 이름 확장자를 검색합니다.
고유한 이메일 주소만 인쇄됩니다. 동일한 주소는 더 이상 인쇄되지 않습니다.
한 번 이상
CERTIFICATE 확장
The -목적 옵션은 인증서 확장을 확인하고 인증서가 무엇인지 결정합니다.
에 사용할 수 있습니다. 실제로 수행되는 검사는 다소 복잡하며 다양한 해킹 및
손상된 인증서 및 소프트웨어를 처리하는 해결 방법.
체인에서 신뢰할 수 없는 인증서를 확인할 때 동일한 코드가 사용되므로 이 섹션은
확인 코드에 의해 체인이 거부된 경우 유용합니다.
basicConstraints 확장 CA 플래그는 인증서를 사용할 수 있는지 여부를 결정하는 데 사용됩니다.
CA로 사용됩니다. CA 플래그가 참이면 CA이고, CA 플래그가 거짓이면 CA입니다.
CA가 아닙니다. All CA에는 CA 플래그가 true로 설정되어 있어야 합니다.
basicConstraints 확장이 없으면 인증서는 다음으로 간주됩니다.
"가능한 CA"의 다른 확장은 의도된 용도에 따라 확인됩니다.
자격증. 이 경우 인증서는 실제로는 안 되므로 경고가 표시됩니다.
CA로 간주: 그러나 일부 손상된 소프트웨어를 해결하기 위해 CA가 될 수 있습니다.
인증서가 V1 인증서이고(따라서 확장이 없음) 자체 서명된 경우
또한 CA로 간주되지만 경고가 다시 표시됩니다. 이는 문제를 해결하기 위한 것입니다.
V1 자체 서명 인증서인 Verisign 루트의 문제입니다.
keyUsage 확장이 존재하는 경우에는 다음의 사용에 추가적인 제한이 적용됩니다.
인증서. CA 인증서 절대로 필요한 것 keyUsage인 경우 keyCertSign 비트가 설정되어 있어야 합니다.
확장자가 존재합니다.
확장된 키 사용 확장은 인증서 사용에 추가 제한을 둡니다.
이 확장이 존재하는 경우(중요 여부에 관계없이) 키는 다음 용도로만 사용될 수 있습니다.
지정된 목적.
각 테스트에 대한 전체 설명은 다음과 같습니다. basicConstraints에 대한 설명
위의 keyUsage 및 V1 인증서는 다음에 적용됩니다. 모든 CA 인증서.
SSL Client
확장된 키 사용 확장은 없거나 "웹 클라이언트"를 포함해야 합니다.
인증" OID. keyUsage가 없거나 digitalSignature 비트가 있어야 합니다.
세트. Netscape 인증서 유형이 없거나 SSL 클라이언트 비트가 설정되어 있어야 합니다.
SSL Client CA
확장된 키 사용 확장은 없거나 "웹 클라이언트"를 포함해야 합니다.
인증" OID. Netscape 인증서 유형이 없거나 SSL이 있어야 합니다.
CA 비트 세트: 이는 basicConstraints 확장이 없는 경우 해결 방법으로 사용됩니다.
SSL 서버
확장된 키 사용 확장은 없거나 "웹 서버"를 포함해야 합니다.
인증" 및/또는 SGC OID 중 하나입니다. keyUsage가 없거나 있어야 합니다.
digitalSignature, keyEncipherment 세트 또는 두 비트 모두 세트. 넷스케이프 인증서
유형이 없거나 SSL 서버 비트가 설정되어 있어야 합니다.
SSL 서버 CA
확장된 키 사용 확장은 없거나 "웹 서버"를 포함해야 합니다.
인증" 및/또는 SGC OID 중 하나입니다. Netscape 인증서 유형이 없어야 합니다.
또는 SSL CA 비트를 설정해야 합니다. 이는 basicConstraints가 다음과 같은 경우 해결 방법으로 사용됩니다.
확장자가 없습니다.
넷스케이프 SSL 서버
Netscape SSL 클라이언트가 SSL 서버에 연결하려면 keyEncipherment가 있어야 합니다.
keyUsage 확장이 있으면 비트가 설정됩니다. 이것이 항상 유효한 것은 아닙니다. 왜냐하면 일부
암호 제품군은 디지털 서명에 키를 사용합니다. 그 외에는 일반과 동일합니다
SSL 서버.
공통의 S / MIME Client 테스트
확장 키 사용 확장은 없거나 "이메일 보호" OID를 포함해야 합니다.
Netscape 인증서 유형이 없거나 S/MIME 비트가 설정되어 있어야 합니다. 만약
S/MIME 비트가 netscape 인증서 유형에 설정되어 있지 않으면 SSL 클라이언트 비트가 설정됩니다.
대안으로 허용되지만 경고가 표시됩니다. 이는 일부 Verisign 때문입니다.
인증서는 S/MIME 비트를 설정하지 않습니다.
S / MIME 서명하기
일반적인 S/MIME 클라이언트 테스트 외에도 다음과 같은 경우 digitalSignature 비트를 설정해야 합니다.
keyUsage 확장이 존재합니다.
S / MIME 암호화
일반적인 S/MIME 테스트 외에도 다음과 같은 경우 keyEncipherment 비트를 설정해야 합니다.
keyUsage 확장이 존재합니다.
S / MIME CA
확장 키 사용 확장은 없거나 "이메일 보호" OID를 포함해야 합니다.
Netscape 인증서 유형이 없거나 S/MIME CA 비트가 설정되어 있어야 합니다.
basicConstraints 확장이 없는 경우 해결 방법으로 사용됩니다.
C.R.L. 서명하기
keyUsage 확장이 없거나 CRL 서명 비트가 설정되어 있어야 합니다.
C.R.L. 서명하기 CA
일반 CA 테스트가 적용됩니다. 이 경우를 제외하고 basicConstraints 확장은 다음과 같아야 합니다.
선물.
onworks.net 서비스를 사용하여 온라인으로 x509ssl 사용