自社で提供している クラウドHSM について、何も知らなかったのでちょっと調べた。
Thales(タレス)社提供のHSMを使っている模様(公開情報)
Hardware Security Modules (HSMs) | Thales
AWSとか、Google Cloudとかにもあるみたい?今まで使ったことなかったから知らなかった。
証明書の保存のためにはPKCS #11 というAPI を使うっぽい。
PKCS#11はC APIだが、幸いなことにThalesがGoのwrapperライブラリを提供してくれていた。
ThalesGroup/pkcs11: pkcs11 wrapper for Go
ただ、このライブラリはPKCS#11をGoから使えるようにするためだけのものらしく、Goの crypto/x509 パッケージ で使うためには、 thales-transfer/crypto11 を使ってくれとのこと。
thales-transfer というorgが、先のThales社とどういう関係なのかはわからなかった。 Thales Group に移行予定っぽいけど、どういうロードマップで移行していくかも不明。
ThalesGroup/pkcs11 のREADMEから直リンクされているが...
ちなみに thales-transfer/crypto11 からはThalesGroup/pkcs11ではなく、miekg/pkcs11 が使われていた。
どういうこと...
ThalesGroup/pkcs11 は miekg/pkcs11 をforkしているが、後者の方がメンテされているので、以下のような方針で採用するのが良さそう。
- 単純にPKCS#11をGoから使いたい場合は miekg/pkcs11
- PKCS#11 をサポートした crypto/x509 パッケージ の実装を使いたい場合は thales-transfer/crypto11
Thalesグループの組織変更とかそういう影響を受けたのかわからないけど、thales-transfer orgとかよくわからないものがあるのは、特にセキュリティ関係だと不安感が増す。
ので、なんかシュッとしてほしい...