問題タブ [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.
c++ - PINなしのCACからの証明書の一覧表示
CAC認証アプリを開発しています。
RHEL 5.5を実行していて、マシンにカードリーダーが接続されています。スマートカード/CACを挿入すると、時計のあるウィンドウの右上にポップアップ通知が表示され、アイコン(ロックされたカード)をクリックすると「スマートカードマネージャー」GUIにアクセスできます。それが表示されます。スマートカードマネージャーが表示されていると、PINを入力しなくても、カードの証明書のリストや詳細などを表示できます。
一方、C ++コードでnssライブラリを使用してスロットとリスト証明書を取得した場合、ピンを入力せずに証明書のリストを取得することはできません。
私がやりたいのは、カードから証明書のリストを取得し、そのリストをピンテキストフィールドとともにダイアログボックスでユーザーに提示して、ユーザーがピンを入力し、認証に使用する証明書を選択できるようにすることですALL IN ONEアプリケーションがPIN用の別のダイアログボックスを表示してから証明書を選択するためのポップアップを表示する代わりにステップしますが、nssライブラリを使用することはできないようですが、スマートカードマネージャーのGUIはこれを簡単に行うことができます。CACから証明書のリストを取得するために使用できる別のAPIがあるかどうかについて、誰かが私に正しい方向を示すことができますか?ありがとう!
c - Linux での X.509 証明書の検証
X.509 証明書の使用を開始したばかりです。Linuxで証明書を検証する方法を教えてもらえますか? ユースケースは、アプリが以前のセッションで証明書をダウンロードし、新しいセッションを開始する前に、証明書がまだ有効かどうか (つまり、保存されてから期限切れになっていないか、取り消されていないか) を確認する必要がある場合です。ここで完全なサンプルを提供できないことは理解していますが、ポインタは役に立ちます。
編集: さらに調査した結果、Network Security Services (NSS) と呼ばれる別のユーティリティが明らかになりました。使いやすさの点で OpenSSL と比較してどうですか? また、コマンド ライン ユーティリティを起動できないため、プログラムによる解決策を探しています。
content-management-system - NSSでCMSを使用して明確な長さのエンコーディングを実施するにはどうすればよいですか?
NSSでCMSを使用して明確な長さのエンコーディングを実施するにはどうすればよいですか?
NSSのCMSエンコーダーをDERでエンコードしようとしていますが、Mozillaの人々は、(私が知る限り)BERエンコードについてのみ心配しているようです。プリミティブ型で明確なエンコードを取得できますが、構築されたすべての型には不定エンコーディング。
私が現在使用しているコード(NSS-3.12.7で):
助けてくれてありがとう、チェンツ
python - Mac OS X 用の python-nss と NSS をビルドするにはどうすればよいですか?
Mac OS X 10.6 以降で実行されている python ソフトウェアで使用するために、Mac OS 10.6.5 を実行している 64 ビット Mac で、 Mozilla NSS ライブラリの python インターフェイスであるpython-nssを構築しようとしています。特定のオプションを使用して NSS 自体を正常にビルドできますが、python-nss ビルドでいくつかの警告が表示され、結果の Python モジュールは使用できません。
NSS をビルドするには、これらの手順に従いますが、cvs からのチェックアウトではなく、このNSS ソース コードを使用します。を実行するmake nss_build_all
と、次のエラーが発生します。
問題の行 ( の 516 行目mozilla/security/nss/lib/freebl/drbg.c
) は、特定の型が予想されるサイズであるというアサーションです。
簡単なテスト プログラムを作成すると、sizeof(size_t) は 8 のように見えるため、上記の手順ページにあるにもかかわらず、おそらく 64 ビット バージョンがビルドされています。
Alpha/OSF1 を除く Unix プラットフォームでは、システムの 64 ビット ABI 用のビルドが必要な場合は、環境で USE_64=1 を設定します。デフォルトでは、NSS は、Alpha/OSF1 を除くすべてのプラットフォームで 32 ビット環境用にビルドされます。
gcc オプション(同様-arch i386
の問題で推奨) を追加しても解決しませんが、USE_64 環境変数を使用したビルドは成功します (ただし、64 ビット ビルドは私が必要としているものではないかもしれません)。
これで問題ないかもしれませんが、(このソースを使用して) python-nss をビルドしようとすると問題が発生します。
setup.py
ビルドしたばかりの NSS ライブラリを含めるには、python-nss にいくつかの変更を加える必要があります。元setup.py
の例では、拡張機能ごとにインクルード ディレクトリがハードコードされています。たとえば、次のようになります。
したがって、次の行を追加して拡張宣言を変更しました。
...そして、各拡張子を変更して INCLUDE_DIRS リストを追加し、library_dirs
引数を含めます ( distutils のドキュメントで説明されています)。例えば:
これらの変更後、python setup.py build
は実行され、NSS ライブラリを認識しているように見えますが、次のようないくつかの警告が生成されます。
「ファイルは、リンクされているアーキテクチャではない、サポートされていないファイル形式でビルドされました」は、最も一般的な警告です。このエラーは別のサイトの投稿で-arch i386
言及されており、gcc でオプションを使用することで解決できる可能性があります。ビルド プロセスのどの段階でこのオプションを追加するのか (NSS か python-nss か?)、それを python distutils ビルド スクリプトに追加する方法がわかりません。
ビルドは完了しますが、結果の python モジュールは使用できないようです:
NSS の構築方法または python-nss の構築方法に誤りがありますか? Mac OS X NSS ライブラリと正しくリンクするには、python-nss ビルド スクリプトにどのように指示すればよいですか? 私は C の経験よりも Python の経験の方がはるかに多いので、簡単なビルド エラーが発生しても驚かないでしょう。
Xcode 3.2.4 (64 ビット) がインストールされた Mac OS 10.6.5 を実行しています。とgcc -v
を与えます。gcc version 4.2.1 (Apple Inc. build 5664)
Target: i686-apple-darwin10
ありがとう。
cryptography - OpenSSL / Mozilla NSS RSAの署名と検証(PK11_Sign、PK11_Verify、PK11_VerifyRecover関数)はどのように機能しますか?
RSAの公開鍵と秘密鍵(すべてp、q、e、n、d)をPEM形式で持っています。私は知りたいです:
PK11_Sign()
、PK11_Verify()
およびPK11_VerifyRecover()
(OpenSSL / Mozilla NSSライブラリから)RSAとどのように連携しますか?- 署名する入力メッセージにパディングをどのように適用しますか?
私の質問のコンテキストは次のとおりです。PK11_Sign()が署名中に入力データにパディングを追加するのを見ました。例(キーサイズが162ビットの場合):
私が知りたいのですが:
- このパディングスキームの名前とそれがどのように機能するかについてのポインタは何ですか?
- 上記のOpenSSL関数のデフォルトのパディングスキームは何ですか?たとえば、「
openssl rsautl -in input.txt -inkey mykey.pem -out signed.txt
」を実行すると、どのパディングスキームが使用されますか?
java - Java 64 ビット上の NSS 32 ビット パッケージ
私は64ビット環境のWindows 7を持っています。ゲートウェイの構成、
64 ビット プラットフォームで NSS3.12.4 32 ビットを実行すると、このエラーが発生しました。
Libnspr4.dll が AMD 64 ビット プラットフォームで IA 32 ビット .dll をロードできない
Java は 64 ビットです。NSS 64 ビット パッケージの入手方法 NSS 32 ビットで作業する場合、このエラーを修正する方法はありますか? ご協力ありがとうございました!
java - PKCS12キーストアとPKCS11キーストアの違いは何ですか?
私はJava-NSSライブラリに興味があり、SunのP11ガイドを読んでいます。私は次のことに混乱しています:
PKCS12キーストアとPKCS11キーストアの使用の違いは何ですか?
キーストアは単なるキーストアですよね?違いはありますか?それらはどのような面でも交換可能に使用できますか?
java - NSS をすばやく開始するのに役立ちます
私はNSSを始めていて、それを構築することができました。結果は、という名前のフォルダーに配置され、dist
いくつかのexeのdllなどを含むいくつかのサブフォルダーがあります.
私はそれを試してみていますが、nssLibraryDirectory
とが何であるかわかりませんnssSecmodDirectory
。
のすべてを1 つのファイルnssLibraryDirectory
にコピーしてから参照する必要がありますか? どうですか?Sun の pkcs11 の使用を開始するためにどのように構成すればよいかわかりません。 dist
nssLibraryDirectory
nssSecmodDirectory
たとえば、この些細なこと:
nss.cfg の場所:
例外を与える
原因: java.io.IOException: 指定されたモジュールが見つかりませんでした。sun.security.pkcs11.Secmod.nssLoadLibrary(ネイティブメソッド)
c - nscdをオーバーライド/バイパスすることは可能ですか?
発信者の名前に応じてNSSモジュールの応答を作成しています。たとえば、sshdがを呼び出すgetpwnam_r(...)
場合、pw_shell
は/ bin/bashになります。telnetdが呼び出す場合getpwnam_r(...)
、pw_shell
は/ bin/kshになります。
プロトタイプが作成され、動作します。ただし、nscdが実行されていてキャッシュがホットの場合、モジュールの関数は呼び出されません。nscdのキャッシュされた結果は、すべての呼び出し元に返されます。nscdは、結果に対する唯一の変数が時間であると想定しています。プロセス名が結果に影響を与えるとは考えていません。
nscdをオーバーライドするデーモンまたはモジュールを作成できるとすると、コードはプロセス名が私のリストにあるかどうかを確認する必要があります。リストにある場合は、nscdをスキップしてください。それ以外の場合は、nscdに回答させてgetpwnam_r(...)
ください。
出来ますか?
編集:あまり好ましくありませんが、OKの代替手段は、呼び出し時にnscdgetpwnam_r(...)
をバイパスすることです。