📜  Node.js x509.fingerprint256 属性

📅  最后修改于: 2022-05-13 01:56:53.869000             🧑  作者: Mango

Node.js x509.fingerprint256 属性

x509.fingerprint256是加密模块中 X509Certificate 类的内置应用程序编程接口,用于获取此证书的 SHA-256 指纹。

句法:

const x509.fingerprint

参数:此属性不接受任何参数作为参数。

返回值:此属性返回此证书的 SHA-256 指纹。

如何生成公共证书?

公共证书打开记事本并复制粘贴以下密钥并将文件保存为public-cert.pem

-----BEGIN CERTIFICATE-----
MIICfzCCAegCCQDxxeXw914Y2DANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMC
SU4xEzARBgNVBAgMCldlc3RiZW5nYWwxEDAOBgNVBAcMB0tvbGthdGExFDASBgNV
BAoMC1BhbmNvLCBJbmMuMRUwEwYDVQQDDAxSb2hpdCBQcmFzYWQxIDAeBgkqhkiG
9w0BCQEWEXJvZm9mb2ZAZ21haWwuY29tMB4XDTIwMDkwOTA1NTExN1oXDTIwMTAw
OTA1NTExN1owgYMxCzAJBgNVBAYTAklOMRMwEQYDVQQIDApXZXN0YmVuZ2FsMRAw
DgYDVQQHDAdLb2xrYXRhMRQwEgYDVQQKDAtQYW5jbywgSW5jLjEVMBMGA1UEAwwM
Um9oaXQgUHJhc2FkMSAwHgYJKoZIhvcNAQkBFhFyb2ZvZm9mQGdtYWlsLmNvbTCB
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAt/EfcF3FG4TneOBWr4JhOUdyuCXm
Dhy5yO3VKtQfPxr+5d0joCSnn/5vYDNSr1MfedZmqVxrXFoMAdPCd71BNmDmeLVi
QK61WREtASP0ZhQMoUBT+R3Fpdy0jPS0YoT/fBd96CJCmgsQOS8Tq5IKVeB61MyC
kwAQ2Goe0T3sdVkCAwEAATANBgkqhkiG9w0BAQsFAAOBgQATe6ixdAjoV7BSHgRX
bXM2+IZLq8kq3s7ck0EZrRVhsivutcaZwDXRCCinB+OlPedbzXwNZGvVX0nwPYHG
BfiXwdiuZeVJ88ni6Fm6RhoPtu2QF1UExfBvSXuMBgR+evp+e3QadNpGx6Ppl1aC
hWF6W2H9+MAlU7yvtmCQQuZmfQ==
-----END CERTIFICATE-----

示例 1:

index.js
// Node.js program to demonstrate the  
// x509.fingerprint256 function
  
// Importing crypto module
const {X509Certificate} = require('crypto')
  
// Importing fs module
const fs = require('fs')
  
// getting object of a PEM encoded X509 Certificate. 
const x509 = new X509Certificate(fs.readFileSync('public-cert.pem'));
  
// getting the SHA-256 fingerprint of this certificate.
// by using x509.fingerprint256 function
const value = x509.fingerprint256
  
// display the result
console.log("SHA-256 fingerprint of this certificate :- "
            + value)


index.js
// Node.js program to demonstrate the  
// x509.fingerprint256 function
  
// Importing crypto module
const {X509Certificate} = require('crypto')
  
// Importing fs module
const fs = require('fs')
  
// display the result
console.log("SHA-256 fingerprint of this certificate :- " +
           ( new X509Certificate(fs.readFileSync('public-cert.pem')))
            .fingerprint256)


使用以下命令运行 index.js 文件。

node index.js

输出:

SHA-256 fingerprint of this certificate :- 
77:7B:70:8C:52:C5:C8:02:88:B3:BD:D5:1F:6C:A5:AB:78:
0C:4D:0E:F6:6C:0B:DA:ED:49:8E:06:0E:78:8F:05 

示例 2:

index.js

// Node.js program to demonstrate the  
// x509.fingerprint256 function
  
// Importing crypto module
const {X509Certificate} = require('crypto')
  
// Importing fs module
const fs = require('fs')
  
// display the result
console.log("SHA-256 fingerprint of this certificate :- " +
           ( new X509Certificate(fs.readFileSync('public-cert.pem')))
            .fingerprint256)

使用以下命令运行 index.js 文件。

node index.js

输出:

SHA-256 fingerprint of this certificate :-
77:7B:70:8C:52:C5:C8:02:88:B3:BD:D5:1F:6C:A5:AB:
78:0C:4D:0E:F6:6C:0B:DA:ED:49:8E:06:0E:78:8F:05 

参考:https://nodejs.org/dist/latest-v15.x/docs/api/crypto.html#crypto_x509_fingerprint256