객체 내장 객체

ObjectX509Cert

X509Cert 예crypto모듈에서 x509 인증서를 나타내는 개체로, 주로 DER 또는 PEM 형식의 인증서 데이터와 인증서 체인 데이터로부터 구성된 인증서 정보 및 메서드를 포함하며, 인증서 구문 분석, 검증 등의 작업을 수행할 수 있습니다.

X509Cert 개체를 통해 인증서의 주체 이름, 발급자 이름, 통과 시간, 만료 시간, CA 확인 및 기타 정보를 얻을 수 있으며 인증서의 DER 인코딩을 내보내고 인증서의 공개 키, 서명 알고리즘 및 기타 정보를 얻을 수도 있습니다. .

인증서를 로드하려면 다음 코드를 사용하여 DER/PEM 형식의 인증서 데이터에서 X509Cert 개체를 생성할 수 있습니다.

1 2 3 4
const crypto = require('crypto'); const certData = require('fs').readFile('server.crt'); const cert = new crypto.X509Cert(certData);

물론 X509Cert 개체는 인증서를 직접 가져오는 방법도 제공합니다.

1
const cert = crypto.X509Cert.import(certData);

그런 다음 인증서의 유효 기간을 얻는 등 인증서를 통해 다양한 인증서 작업을 수행할 수 있습니다.

1 2
var strDate = cert.notBefore.toLocaleTimeString() + " " + cert.notBefore.toLocaleDateString() + " ~ " + cert.notAfter.toLocaleTimeString() + " " + cert.notAfter.toLocaleDateString(); console.log(`证书有效时间: ${strDate}`)

상속관계

건설자

X509Cert

X509Cert 생성자

1
new X509Cert();

X509Cert 생성자, DER 형식 인증서 로드

1
new X509Cert(Buffer derCert);

호출 매개변수:

  • derCert:Buffer, DER 형식의 인증서

X509Cert 생성자는 CRT/PEM 형식의 인증서를 로드합니다.

1
new X509Cert(String txtCert);

호출 매개변수:

  • txtCert: 문자열, CRT/PEM 형식의 인증서

구성원 속성

version

정수, 인증서 버전을 가져옵니다.

1
readonly Integer X509Cert.version;

serial

문자열, 인증서의 일련번호를 가져옵니다.

1
readonly String X509Cert.serial;

issuer

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

1
readonly String X509Cert.issuer;

subject

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

1
readonly String X509Cert.subject;

notBefore

날짜, 인증서 유효기간 획득

1
readonly Date X509Cert.notBefore;

notAfter

날짜, 인증서 만료 시간을 가져옵니다.

1
readonly Date X509Cert.notAfter;

ca

부울, 인증서가 CA 인증서인지 여부를 가져옵니다.

1
readonly Boolean X509Cert.ca;

pathlen

정수, 인증서의 경로를 가져옵니다.

1
readonly Integer X509Cert.pathlen;

usage

문자열, 인증서 사용 범위를 가져옵니다.

1
readonly String X509Cert.usage;

결과는 다음의 전부 또는 일부입니다: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign


type

문자열, 인증서를 얻기 위한 Netscape 인증서 유형

1
readonly String X509Cert.type;

결과는 다음의 전부 또는 일부입니다: 클라이언트, 서버, 이메일, objsign, 예약됨, sslCA, emailCA, objCA


sig_md

정수, 인증서를 얻기 위한 다이제스트 알고리즘

1
readonly Integer X509Cert.sig_md;

sig_pk

정수, 인증서의 서명 알고리즘을 얻습니다.

1
readonly Integer X509Cert.sig_pk;

publicKey

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

1
readonly PKey X509Cert.publicKey;

next

X509Cert, 인증서 체인에서 다음 인증서 가져오기

1
readonly X509Cert X509Cert.next;

멤버 함수

import

여러 번 호출할 수 있는 DER 형식의 인증서 로드

1
X509Cert.import(Buffer derCert);

호출 매개변수:

  • derCert:Buffer, DER 형식의 인증서

여러 번 호출할 수 있는 CRT/PEM 형식의 인증서 로드

1
X509Cert.import(String txtCert);

호출 매개변수:

  • txtCert: 문자열, CRT/PEM 형식의 인증서

loadRootCerts

함께 제공되는 기본 루트 인증서를 로드하세요.

1
X509Cert.loadRootCerts();

이 인증서의 내용은 http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt 에서 가져옵니다.


verify

현재 인증서 체인을 사용하여 지정된 인증서를 확인합니다.

1
Boolean X509Cert.verify(X509Cert cert) async;

호출 매개변수:

  • cert: X509Cert, 확인이 필요한 인증서 제공

결과 반환:

  • Boolean, 확인이 성공하면 True를 반환합니다.

pem

로드된 인증서를 PEM 형식으로 내보내기

1
String X509Cert.pem(Boolean all = true);

호출 매개변수:

  • all: 부울, 모든 인증서를 출력할지 여부를 지정합니다. 기본값은 true입니다.

결과 반환:

  • String, 인증서 체인을 배열로 내보냅니다.

der

로드된 인증서를 DER 형식으로 내보내기

1
Buffer X509Cert.der();

결과 반환:

  • Buffer, 인증서 체인을 배열로 내보냅니다.

clear

로드된 인증서 지우기

1
X509Cert.clear();

toString

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String X509Cert.toString();

결과 반환:

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

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

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

호출 매개변수:

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

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.