ObjectX509Cert
X509Cert 예crypto모듈에서 x509 인증서를 나타내는 개체로, 주로 DER 또는 PEM 형식의 인증서 데이터와 인증서 체인 데이터로부터 구성된 인증서 정보 및 메서드를 포함하며, 인증서 구문 분석, 검증 등의 작업을 수행할 수 있습니다.
X509Cert 개체를 통해 인증서의 주체 이름, 발급자 이름, 통과 시간, 만료 시간, CA 확인 및 기타 정보를 얻을 수 있으며 인증서의 DER 인코딩을 내보내고 인증서의 공개 키, 서명 알고리즘 및 기타 정보를 얻을 수도 있습니다. .
인증서를 로드하려면 다음 코드를 사용하여 DER/PEM 형식의 인증서 데이터에서 X509Cert 개체를 생성할 수 있습니다.
1
2
3
4const crypto = require('crypto');
const certData = require('fs').readFile('server.crt');
const cert = new crypto.X509Cert(certData);
물론 X509Cert 개체는 인증서를 직접 가져오는 방법도 제공합니다.
1const cert = crypto.X509Cert.import(certData);
그런 다음 인증서의 유효 기간을 얻는 등 인증서를 통해 다양한 인증서 작업을 수행할 수 있습니다.
1
2var strDate = cert.notBefore.toLocaleTimeString() + " " + cert.notBefore.toLocaleDateString() + " ~ " + cert.notAfter.toLocaleTimeString() + " " + cert.notAfter.toLocaleDateString();
console.log(`证书有效时间: ${strDate}`)
상속관계
건설자
X509Cert
X509Cert 생성자
1new X509Cert();
X509Cert 생성자, DER 형식 인증서 로드
1new X509Cert(Buffer derCert);
호출 매개변수:
- derCert:Buffer, DER 형식의 인증서
X509Cert 생성자는 CRT/PEM 형식의 인증서를 로드합니다.
1new X509Cert(String txtCert);
호출 매개변수:
- txtCert: 문자열, CRT/PEM 형식의 인증서
구성원 속성
version
정수, 인증서 버전을 가져옵니다.
1readonly Integer X509Cert.version;
serial
문자열, 인증서의 일련번호를 가져옵니다.
1readonly String X509Cert.serial;
issuer
문자열, 인증서 발급자의 고유 이름을 가져옵니다.
1readonly String X509Cert.issuer;
subject
문자열, 인증서의 주체 고유 이름을 가져옵니다.
1readonly String X509Cert.subject;
notBefore
날짜, 인증서 유효기간 획득
1readonly Date X509Cert.notBefore;
notAfter
날짜, 인증서 만료 시간을 가져옵니다.
1readonly Date X509Cert.notAfter;
ca
부울, 인증서가 CA 인증서인지 여부를 가져옵니다.
1readonly Boolean X509Cert.ca;
pathlen
정수, 인증서의 경로를 가져옵니다.
1readonly Integer X509Cert.pathlen;
usage
문자열, 인증서 사용 범위를 가져옵니다.
1readonly String X509Cert.usage;
결과는 다음의 전부 또는 일부입니다: digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign
type
문자열, 인증서를 얻기 위한 Netscape 인증서 유형
1readonly String X509Cert.type;
결과는 다음의 전부 또는 일부입니다: 클라이언트, 서버, 이메일, objsign, 예약됨, sslCA, emailCA, objCA
sig_md
정수, 인증서를 얻기 위한 다이제스트 알고리즘
1readonly Integer X509Cert.sig_md;
sig_pk
정수, 인증서의 서명 알고리즘을 얻습니다.
1readonly Integer X509Cert.sig_pk;
publicKey
PKey, 인증서의 공개 키를 가져옵니다.
1readonly PKey X509Cert.publicKey;
next
X509Cert, 인증서 체인에서 다음 인증서 가져오기
1readonly X509Cert X509Cert.next;
멤버 함수
import
여러 번 호출할 수 있는 DER 형식의 인증서 로드
1X509Cert.import(Buffer derCert);
호출 매개변수:
- derCert:Buffer, DER 형식의 인증서
여러 번 호출할 수 있는 CRT/PEM 형식의 인증서 로드
1X509Cert.import(String txtCert);
호출 매개변수:
- txtCert: 문자열, CRT/PEM 형식의 인증서
loadRootCerts
함께 제공되는 기본 루트 인증서를 로드하세요.
1X509Cert.loadRootCerts();
verify
현재 인증서 체인을 사용하여 지정된 인증서를 확인합니다.
1Boolean X509Cert.verify(X509Cert cert) async;
호출 매개변수:
- cert: X509Cert, 확인이 필요한 인증서 제공
결과 반환:
- Boolean, 확인이 성공하면 True를 반환합니다.
pem
로드된 인증서를 PEM 형식으로 내보내기
1String X509Cert.pem(Boolean all = true);
호출 매개변수:
- all: 부울, 모든 인증서를 출력할지 여부를 지정합니다. 기본값은 true입니다.
결과 반환:
- String, 인증서 체인을 배열로 내보냅니다.
der
로드된 인증서를 DER 형식으로 내보내기
1Buffer X509Cert.der();
결과 반환:
- Buffer, 인증서 체인을 배열로 내보냅니다.
clear
로드된 인증서 지우기
1X509Cert.clear();
toString
객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.
1String X509Cert.toString();
결과 반환:
- String, 객체의 문자열 표현을 반환합니다.
toJSON
객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.
1Value X509Cert.toJSON(String key = "");
호출 매개변수:
- key: 문자열, 사용되지 않음
결과 반환:
- Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.