nginx / njs-acme

Nginx NJS module runtime to work with ACME providers like Let's Encrypt for automated no-reload TLS certificate issue/renewal.
Apache License 2.0
52 stars 9 forks source link

Consider using peculiar/X509 vs PKIjs #47

Open rmhrisk opened 6 months ago

rmhrisk commented 6 months ago

Is your feature request related to a problem? Please describe

No.

Describe the solution you'd like

We are the authors of PKI.js and ASN.1js and were looking at projects that took a dependency on our libraries so I started looking at consumers like njs-acme.

We noticed that you import PKI.js but implement your own x509 parser. We created a higher-level library than PKI.js called peculiar/x509.

Your code would be simpler if you consumed our x509 library instead of PKI.js, it would also allow you to have more uniform code for your x509 parsing use cases.

Describe alternatives you've considered

Suggestion

Additional context

N/A

ivanitskiy commented 6 months ago

Thanks for the feedback. I agree 100% that it would simplify the code and make it consistent. as far I remember, x509 did not work in NJS env (NJS is not 100% compliant with JavaScript implementation). I will try to repro and update this issue. x509 is in use from this https://github.com/nginx/njs-examples/blob/master/njs/http/certs/js/x509.js ( it's just a copy-paste as there is no NPM artifact)