問題タブ [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.
javascript - エラー: レキシカル宣言にアクセスできません
初期化前に ReferenceError: can't access lexical declaration textBytes を受け取りました。
c++ - -msse2 フラグを使用しても emmintrin.h が原因で Clang-cl が NSS ライブラリのビルドに失敗する
Clang 3.7 の emmintrin.h ヘッダーがエラーをスローするため、NSS の freebl ライブラリは (Firefox の一部として) 適切にビルドできません。このフラグを使用しても、このヘッダーを呼び出すソース ファイルは失敗します。
ここでソース ディレクトリを参照できます。
hash - PK11_パディング付き署名
http://www-archive.mozilla.org/projects/security/pki/nss/tech-notes/tn7.htmlから、次のように述べています
低レベルの署名には、PK11_Sign() を使用します。これらの関数は両方とも、データの PKCS #1 ラッピングを行います。PK11_Sign は、ハッシュの BER エンコードを行いません (SGN_ 関数で行われるように)。
コード API から
Q1) 私の PK11_Sign 関数は無効な署名をもたらします。hash->data の入力は、「Hello SHA-256」からの SHA-256 の a7cd893b31b0ea44ed1aa7cafcda658744cc5a02ef26feccceaae9a8becb83a0 ハッシュです。data->len は 64 です。次に、コードは 16 進数から 2 進数への変換を実行します。次に、これらの情報を PK11_Sign に渡します。手順を見逃しましたか?
Q2) ハッシュの BER 符号化とはどういう意味ですか? ハッシュの文字列が 16 進数である場合、それをバイナリのハッシュに変換します。これが BER ですか? または、文は、DER のみをサポートすることを意味しますか?
Q3) 上記の操作に似た PK11_Sign のサンプルはありますか?
c - NSS lib PK11_PrivDecryptPKCS1 関数のドキュメント
Mozilla の NSS ライブラリ関数、特に PK11_PrivDecryptPKCS1 関数の完全なドキュメントはどこにありますか?
ソースコードにつながるページしか見つかりませんが、説明はありません。
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Cryptography_functions
私はいくつか疑問があります: outLen パラメータは復号化されたデータ長で書かれていますか? もしそうなら、データに十分なスペースがあるようにmallocするサイズはどれくらいですか?
c++ - NSS ライブラリ関数内で何が起こっているかをデバッグするにはどうすればよいですか?
コードで NSS lib のPK11_PrivDecryptPKCS1
関数の動作を再現しようとしているので、失敗した理由を特定できます。常に を返しますSECFailure
。
ここで、この関数がパラメーターを作成して を呼び出すことを見てきましたpk11_PrivDecryptRaw
。pk11_PrivDecryptRaw
(同じファイル、833行目)で、ifがSECFailure
3つのコードブロックで返されることがわかりました:
最初の場合key->keyType != rsaKey
。だから私はデバッグkey->keyType
して、それが に等しいことを見ましたrsaKey
。
次の部分はこれです:
そのため、crv に返される内容をデバッグするために、このコードをコードに複製しました。これをやろうとしたとき、いくつかのシンボルがどこにあるか.hを見つけるのに苦労しました。secmodi.h
" "、" " インクルードが見つかりませんでしたsecmodti.h
。libnss3-dev のソース コードでそれらを見つけました。
さて、問題はリンケージにあります。エラーが発生します
の未定義参照pk11_GetNewSession
。次のコマンドを使用して、この関数の /usr/lib ディレクトリ全体を検索しました。
しかし、それは見つかりませんでした。.so で公開されていないライブラリの内部関数であるべきだと考えています。
この呼び出しをこの関数内のコードに置き換えようとすると、つまり
pk11_notify
今回は未定義の参照を取得します。
これをデバッグするにはどうすればよいですか?
certificate - Windows、Mac、および Linux で Mozilla NSS ルート証明書ストアを使用するにはどうすればよいですか?
NSS にはドキュメントがほとんどなく、API の痕跡がかなり残っています。それはどのように機能しますか?Windows と Mac の firefox、Linux の Chrome にも使用されます。自分のルート証明書をインストール、アンインストール、およびインストールを確認するにはどうすればよいですか?
macos - MAC OSX 10.10 用の Mozilla NSS ツールをビルドする
フォルダ内の hg repo nss と nspr をチェックアウトしmake nss_build_all
て nss フォルダで実行すると、このエラーが発生しました。ここで与えられた指示。
Mac で nss ツールのビルドに成功した人はいますか?
この問題を解決するにはどうすればよいですか?
ssl - P12 証明書を NSS データベースにインポートする (エイリアスを使用)
認証局によって生成された個人の P12 証明書があります。
保護された URL にアクセスするために CURL で使用したいと考えています。CENTOS 上の CURL が openssl でコンパイルされている場合、それを PEM 形式に変換し、そのファイルを CURL に提供する必要があります (UBUNTU でテストされ、動作しています)。
問題は、私のカールが NSS でコンパイルされていることです。そのため、しばらくグーグルで調べたところ、NSS データベースを生成し、証明書をこのデータベースにインポートする必要があることがわかりました。その後、エイリアスを渡してcurlを呼び出し、URLにアクセスできるはずです。
(ここで説明されているように: curl コマンド - クライアント証明書を読み込めません -8018 )
しかし、キーに ALIAS を提供する方法が見つかりません。そのため、カールはインポートされたキーを見つけられません。
curl を呼び出すと、次のようになります。
少し調査した結果、最終的に 2 つのオプションが得られました。 - このデータベース (または p12) をニックネームでインポート (または再生成) してみます (方法がわかりません) - または、curl と php_curl を置き換えてみます (I'll後で必要になります) openssl でコンパイルされたもの (両方のパッケージで適切なリポジトリを見つけることができません)
何か案は??
ubuntu-14.04 - パッケージ nss-devel が見つかりません - Ubuntu 14.04
nss-devel パッケージに相当する debian は何ですか?
apt-get install nss-develが機能していません。
firefox - Firefox 40 は署名後も拡張機能を許可しない
私は Firefox 40 を使用しており、XPI の署名に関する記事に従って XPI に署名しました。certutil を使用して XPI に署名し、X509.cacert を firefox Certificate Manager (Authorities タブ) にインポートして、記事に記載されているすべての手順を完了しました。XPI をインストールすると、ポップアップが表示されます。
注意: このサイトは、未検証のアドオンを Firefox にインストールしようとしています
インストール後、拡張機能は正しく機能しています。
ただし、フラグを設定した場合: xpinstall.signature.required を true にしてから、インストールを試みます。ポップアップが表示されます
このアドオンは破損しているように見えるため、インストールできませんでした。
何も見逃していないことを確認するために、記事の手順を複数回実行しましたが、それでも同じ問題が発生します。問題を探す場所へのポインタをいただければ幸いです。