The x509.subject is an inbuilt application programming interface of class X509Certificate within crypto module which is used to get complete subject of this certificate.
Syntax:
const x509.subject
Parameters: This function does not accept any arguments as a parameter.
Return Value: This function returns the serial number of this certificate.
How to generate a Public certificate?
Public certificate: Open notepad and copy-paste the following key and save the file as 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-----
Example 1:
// Node.js program to demonstrate the
// x509.subject 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 subject included in this certificate.
// by using x509.subject function
const value = x509.subject
// display the result
console.log("subject :- " + value)
Run the index.js file using the following command.
node index.js
Output:
subject :- C=IN ST=Westbengal L=Kolkata O=Panco, Inc. CN=Rohit Prasad emailAddress=rofofof@gmail.com
Example 2:
// Node.js program to demonstrate the
// x509.subject function
// Importing crypto module
const {X509Certificate} = require('crypto')
// Importing fs module
const fs = require('fs')
// display the result
console.log((new X509Certificate(
fs.readFileSync('public-cert.pem'))).subject)
Run the index.js file using the following command.
node index.js
Output:
C=IN ST=Westbengal L=Kolkata O=Panco, Inc. CN=Rohit Prasad emailAddress=rofofof@gmail.com
Reference: https://nodejs.org/dist/latest-v15.x/docs/api/crypto.html#crypto_x509_subject