問題タブ [nss]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - NSS から certutil のみをビルドするには?
カスタム CA を備えたマシンにすべての Firefox プロファイルをロードする小さなユーティリティを作成しています。NSS ツールの一部として certutil バイナリを使用することに成功しました。
しかし、私は certutil をどこまで移植できるのか疑問に思っていましたか? certutil のみをコンパイルすることはできますか?それとも、機能させるために NSS ツール全体をビルドする必要がありますか?
certutil をできるだけ小さく移植できるようにする方法についてのアイデアは大歓迎です。ありがとう!
c - cryptoki ライブラリで秘密鍵パラメーターを抽出または設定する
cryptoki ライブラリを使用して小さなテスト プログラムを作成しているときに、いくつかの問題に遭遇しました。RSA秘密鍵(すべてのパラメータ)を取得したい(持っている)。キーを生成してからパラメーターを抽出するか、既に生成されたパラメーターを使用してキーを手動で設定することを考えました。これまでのところ、私はこれを機能させていません。コードは記事の最後にあります。
抽出
公開指数やモジュラスなどの属性を抽出できるC_GetAttributeValue()があることは知っています。これは公開鍵オブジェクトと秘密鍵オブジェクトの両方で機能しますが、秘密鍵オブジェクトから秘密パラメーターを抽出しようとするとCKR_ATTRIBUTE_SENSITIVEエラーが発生します。これらの属性を抽出する方法はありますか? セッションへのログイン時または初期化中に特定のパラメータを設定する必要がありますか?
キーの手動設定
私の 2 番目のアプローチは、キー マテリアル (OPENSSL で生成されたもの) をファイルから読み取り、それを使用してC_CreateObject()でキー オブジェクトを生成することでした。このファイルには、すべての RSA パラメータ (n、e、d、p、q、dmp1、dmq1、iqmp) が含まれています。読み取り後、ASCII から 16 進表現に変換し、CK_BYTE[]に格納します。ここまでは順調ですね。ここで、秘密鍵を作成するためにこれらすべてをC_CreateObject()に渡すと、 CKR_ATTRIBUTE_VALUE_INVALIDエラー メッセージが表示されます。公開パラメーターを使用して同じ方法で公開鍵オブジェクトを作成すると機能します。作成した公開鍵オブジェクトに対してC_GetAttributeValue()を使用することを確認しました。これがこの方法で可能である場合、秘密鍵オブジェクトを生成するために何が欠けていますか? だと思いますC_GenerateKeyPair()は、キー マテリアルが提供されているかどうかに関係なく、常に新しいキーを生成しますよね?
C コード
これは私が秘密鍵オブジェクトを作成しようとするものです:
firefox - CSP の CryptUIDlgSelectCertificateFromStore。PKCS#11 はどうですか?
CryptUIDlgSelectCertificateFromStore
Windows ライブラリで呼び出される関数が存在します。ユーザーは、Internet Explorer の証明書ストアにある証明書のリストから証明書を選択できます。
ユーザーが Mozilla Firefox ブラウザで証明書を選択できるNSS、PKCS#11、Xulrunnerで同等の機能を探しています。
ありがとうございました。
ssl - keytool を使用して証明書チェーンを作成するには?
次のようにJavaで証明書チェーンを作成したい:
ここで、ca.mycompany.com はルート証明書 (自己署名) です。
これが OpenSSL で可能であることはわかっています。しかし、keytoolでこれを達成することは可能ですか?
そうでない場合、Mozilla NSS ライブラリでこれを達成できますか?
php - PHPでcurlに暗号を追加するには?
php curl を使用してサイトに接続しようとしていますが、「一般的な暗号化アルゴリズムがありません」というエラーが表示されます。さらに調査すると、これは NSS と関係があると思いますか? コマンドラインからエラーを再現できることを発見しました(したがって、問題は間違いなくcurlにあり、phpラッパーにはありません)が、 --ciphers ecdhe_ecdsa_aes_128_sha を設定すると動作します:
だから私の質問は、
なぜこうなった?SSL暗号がcurlでどのように機能するかについて、オンラインで説明を見つけることができませんでした。すべてのページは、読者がすでにその分野の専門家であるという前提で書かれているようです。残念ながら、「あなたはおそらく NSS を使用しているので、FIPS 用に PKCS を切り替えてみてください」のような文は、私にはまったく理解できず、グーグルで検索しました。個々のコンポーネントのみを説明し (通常は 20 年前の標準を参照して)、それらが相互にどのように関係しているかは説明しません。
curl が試行している暗号とサーバーが受け入れる暗号を教えてくれる方法はありますか? ssllabsでサーバーを調べてみましたが、サーバーがすべての暗号を受け入れると言っているようですが、明らかにそうではありません。
PHP スクリプトがこのサーバーに接続できるようにするには、curl_setopt にどのオプションを渡す必要がありますか?
暗号をこれに設定すると、他のサイトが壊れますか? curl がすべての安全なサイトに接続できるようにするためにできることはありますか、それとも異なる暗号を手動で反復して、それぞれが機能するかを確認する必要がありますか?
ssl - OSX で見つかった Dart pub で使用されるデフォルトの NSS データベースはどこにありますか?
dart、特に OS X の pub で使用されるデフォルトの NSS データベースはどこにありますか? そのデータベースにルート CA を追加することは可能ですか?
javascript - NSS 3.18.1 パブリック関数でサポートされている PKCS11 検証関数はありますか
js 内で PK11_Verify を呼び出そうとしています。
次のようなメッセージ エラーが返されます。
loadLibrariesを宣言する関数 PK11_Verify が見つかりません
でした: エラー: ライブラリに関数シンボルが見つかりませんでした
Web ブラウザーNSS 3.18.1 Basic ECC
で NSS のバージョンを確認したところ、パブリック関数として PK11_Verify がサポートされています。根本的な原因は何ですか?
ありがとうございました