https 対応の Node.js では、証明書を.pem
ファイルとして持っています。
ここで、そのファイルからデータを読み取って、有効期限や共通名などの証明書に関する情報を取得したいと考えています。
Node独自のtlsモジュールもursaなどのモジュールもこれをサポートしていないのを見たことがあります。
もちろんopenssl
、子プロセスとして呼び出してその出力ストリームを解析することもできますが (このタスクは OpenSSL を使用して実行できるはずです)、パス内の外部プログラムの可用性に依存しないソリューションを好みます。
どうすればこれを行うことができますか?
更新:一方、pem モジュールreadCertificateInfo
が見つかりました。Node.js 0.8.18 を使用しても、共通名が正常に提供されます (これは、0.7 以降がサポートされていないと述べているドキュメントとは異なります) 。残念ながら、有効期限は返されません。
更新 2:openssl
内部的には、pemは子プロセスを使用してコマンドを呼び出すだけです。もちろん、これは自分でできるので、必要な情報をopenssl
直接取得できます。とにかく、誰かがより良いアイデアを持っていれば (この場合は、純粋な JavaScript / Node.js ソリューションを意味します)、私はそれについて喜んでいます:-)