This is especially true when it comes to security technologies, this is the foundation of most of our OSS work at Peculiar Ventures.
Our most recent project is a XMLDSIG library we call XAdESjs, it is based on WebCrypto and as a result with an appropriate polyfill it works on Node as well as it does in the browser.
With it and a few lines of code you can now sign and verify XMLDSIG and XAdES-BES signatures on these platforms, for example a verify on Node might look like this:
|var xadesjs = require(“./xadesjs/built/xades.js”);
var DOMParser = require(“xmldom”).DOMParser;
var WebCrypto = require(“./node-webcrypto-ossl”).default;
xadesjs.Application.setEngine(“OpenSSL”, new WebCrypto());
var fs = require(“fs”);
var signedDocument = new DOMParser().parseFromString(xmlString, “application/xml”);
var signedXml = new xadesjs.SignedXml(signedDocument);
Though we only support the most basic forms of XAdES at this time it is enough to verify the EU Trust Service Provider List (EUTSL).
We intend to add more of XAdES to the library in the future, though we have no schedule for that at this time.
There is still lots to do so please consider contributing.