3.3.7. NSS 共有データベース

NSS 3.12 で導入された NSS 共有データベース形式は、Red Hat Enterprise Linux 6 で利用可能となりました。これには、アクセスおよびユーザビリティーを改善する数多くの機能とコンポーネントが含まれています。
これには NSS 認証およびキーデータベースが含まれており、これらは SQLite ベースで同時アクセスを可能にします。レガシーの key3.dbcert8.dbkey4.dbcert9.db と呼ばれる新たな SQL データベースで置換されています。これらの新規データベースは PKCS #11 トークンオブジェクトを保存します。これらは、現在 cert8.db および key3.db に保存されているものと同一のものです。
共有データベースのサポートがあることで、システムワイドの NSS データベースが可能になります。これは /etc/pki/nssdb に配置されており、ここではグローバルに信頼された CA 認証がすべてのアプリケーションでアクセス可能になります。rv = NSS_InitReadWrite("sql:/etc/pki/nssdb"); コマンドは、アプリケーション用に NSS を初期化します。アプリケーションを root 権限で実行中の場合は、システムワイドのデータベースが読み込みおよび書き込みで利用可能になります。しかし、アプリケーションが通常のユーザー権限で実行中の場合は、読み込み可能のみとなります。
また、NSS 用の PEM PKCS #11 モジュールは、PEM 形式ファイルに保存されているメモリ認証書およびキーへのアプリケーションのロードを可能にします (たとえば、openssl 作成のものなど)。

3.3.7.1. 後方互換性

NSS アップストリームで保証されているバイナリー互換性は、Red Hat Enterprise Linux 6 の NSS でも確保されます。この保証内容は、NSS 3.12 はすべての古い NSS 3.x の共有ライブラリーと後方互換性があるとしています。このため、古い NSS 3.x の共有ライブラリーとリンクしているプログラムは再コンパイルや再リンクなしで機能します。また、NSS API の使用を NSS 公開機能に限定するアプリケーションは、NSS 共有ライブラリーの今後のバージョンと互換性を保ちます。