개체 내장 개체

개체 X509Req

X509Req 개체는 x509 인증서 요청을 생성하는 데 사용되는 개체이며crypto기준 치수

X509Req의 인스턴스는 해당 생성자를 통해 생성할 수 있으며, 여기서 매개 변수를 전달하여 인증서의 주체 고유 이름과 공개 키를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

1 2 3 4
var crypto = require('crypto'); let pky = crypto.PKey.from(private_pem); let req = new crypto.X509Req("CN=localhost,O=fibjs", pky);

이 인스턴스를 통해 부모 클래스의 메서드 및 속성을 호출하여 인증서 요청 객체의 정보를 얻을 수 있습니다. 예를 들면 다음과 같습니다.

1 2 3 4 5
// return the DER format of the certificate request let derReq = req.der(); // return the PEM format of the certificate request let pemReq = req.pem();

X509Req 개체에 서명하여 공식 인증서 개체를 생성하는 것도 가능합니다. 예를 들면 다음과 같습니다.

1 2 3 4 5 6 7
let opt = { notBefore: new Date('2019-01-01') // valid from 2019-01-01 , notAfter: new Date('2029-12-31') // valid to 2029-12-31 }; let crt = req.sign("CN=myy.mkx", pky, opt); // CN=myy.mkx is the issuer of the certificate

X509Req 개체의 역할은 인증서 자체가 아니라 x509 인증서 요청을 생성하는 것임을 유의해야 합니다. 유효한 인증서를 얻으려면 서명이 필요합니다. 동시에 서명 인증서에 사용된 공개 키는 인증서 요청에 사용된 공개 키와 일치해야 합니다.

상속 관계

건설자

X509Req

X509Req 생성자

1
new X509Req();

X509Req 생성자, 주어진 정보를 기반으로 인증서 요청 생성

1 2 3
new X509Req(String subject, PKey key, Integer hash = hash.SHA256);

호출 매개변수:

  • subject: 문자열, 인증서의 주체 고유 이름
  • key:PKey, 인증서의 공개 키
  • hash: 정수, 인증서 다이제스트 알고리즘, 기본값은hash.SHA256

X509Req 생성자, DER 형식의 인증서 요청 로드

1
new X509Req(Buffer derReq);

호출 매개변수:

  • derReq:Buffer, DER 형식의 인증서 요청

X509Req 생성자, PEM 형식의 인증서 요청 로드

1
new X509Req(String pemReq);

호출 매개변수:

  • pemReq: 문자열, DER 형식의 인증서 요청

구성원 속성

subject

문자열, 인증서의 주체 고유 이름을 가져옵니다.

1
readonly String X509Req.subject;

publicKey

PKey, 인증서의 공개 키를 가져옵니다.

1
readonly PKey X509Req.publicKey;

sig_md

Integer, 인증서를 얻는 데 사용되는 다이제스트 알고리즘

1
readonly Integer X509Req.sig_md;

sig_pk

정수, 인증서의 서명 알고리즘 가져오기

1
readonly Integer X509Req.sig_pk;

멤버 함수

import

DER 형식으로 인증서 요청 로드

1
X509Req.import(Buffer derReq);

호출 매개변수:

  • derReq:Buffer, DER 형식의 인증서 요청

PEM 형식으로 인증서 요청 로드

1
X509Req.import(String pemReq);

호출 매개변수:

  • pemReq: 문자열, PEM 형식의 인증서 요청

pem

현재 인증서 요청의 PEM 형식 인코딩을 반환합니다.

1
String X509Req.pem();

반환 결과:

  • String, 현재 인증서 요청의 PEM 형식 인코딩

der

현재 인증서 요청의 DER 형식 인코딩을 반환합니다.

1
Buffer X509Req.der();

반환 결과:

  • Buffer, 현재 인증서 요청의 DER 형식 인코딩

sign

현재 인증서 요청을 공식 인증서로 서명

1 2 3
X509Cert X509Req.sign(String issuer, PKey key, Object opts = {}) async;

호출 매개변수:

  • issuer: 문자열, 서명 기관의 식별 이름
  • key:PKey, 서명 기관의 개인 키
  • opts: 객체, 기타 선택적 매개변수

반환 결과:

  • X509Cert, 서명된 공식 인증서를 반환합니다.

opts에서 받은 필드는 다음과 같습니다.

1 2 3 4 5 6 7 8
{ ca: false, // specify if the certificate is a CA certificate, default is false pathlen: -1, // specify the path length of the certificate, default is -1 notBefore: "", // specify the certificate valid from date, default is current date notAfter: "", // specify the certificate valid to date, default is 365 days after current date usage: "", // specify the certificate usage, accept: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign type: "" // specify the certificate Netscape certificate type, accept: client, server, email, objsign, reserved, sslCA, emailCA, objCA }

toString

개체의 문자열 표현을 반환하고 일반적으로 "[네이티브 개체]"를 반환하며 개체는 자체 특성에 따라 다시 구현될 수 있습니다.

1
String X509Req.toString();

반환 결과:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

개체의 JSON 형식 표현을 반환하며 일반적으로 개체에 의해 정의된 읽기 가능한 속성 모음을 반환합니다.

1
Value X509Req.toJSON(String key = "");

호출 매개변수:

  • key: 문자열, 사용하지 않음

반환 결과:

  • Value, JSON 직렬화 가능 값을 반환합니다.