Node.js x509.ca Property
The x509.ca is an inbuilt application programming interface of class X509Certificate within crypto module which is used to check if this PEM encoded X509 Certificate is a Certificate Authority (ca) certificate or not .
Syntax:
const x509.ca
Parameters: This property does not accept any argument as a parameter.
Return Value: This property returns Boolean value true if and only if this PEM encoded X509 Certificate is a Certificate Authority (ca) 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:
index.js
// Node.js program to demonstrate the // x509.ca APi // 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' )); // checking if this is a Certificate Authority (ca) certificate or not // by using x509.ca api const value = x509.ca // display the result if (value) console.log( "this is a Certificate Authority (ca) certificate" ) else console.log( "this is not a Certificate Authority (ca) certificate" ) |
Run the index.js file using the following command.
node index.js
Output:
this is not a Certificate Authority (ca) certificate
Example 2:
index.js
// Node.js program to demonstrate the // x509.ca APi // Importing crypto module const {X509Certificate} = require( 'crypto' ) // Importing fs module const fs = require( 'fs' ) // display the result if (( new X509Certificate(fs.readFileSync( 'public-cert.pem' ))).ca) console.log( "this is a Certificate Authority (ca) certificate" ) else console.log( "this is not a Certificate Authority (ca) certificate" ) |
Run the index.js file using the following command.
node index.js
Output:
this is not a Certificate Authority (ca) certificate
Reference: https://nodejs.org/dist/latest-v15.x/docs/api/crypto.html#crypto_x509_ca