問題タブ [gnutls]

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.

0 投票する
0 に答える
1386 参照

linux - cryptodev-linux の openssl サポート

openssl には (eng_cryptodev.c を介して) cryptodev-linux サポートが付属しているようです。openssl をダウンロードすると、eng_cryptodev.c ファイルがデフォルトで利用可能になります。

以下のリンクは、openssl サポートの eng_cryptodev.c について言及しています。

http://repo.or.cz/w/cryptodev-linux.git/commitdiff/56cc4e3b8b761cb34f928f4eee59755d1f0afc53

注:openssl ソースで利用可能な eng_cryptodev.c ファイルにいくつかの追加の変更が加えられているようです。

最近、cryptodev-linux にもいくつかの変更/パッチが利用できるようです。以下に参考情報を示します。

http://rt.openssl.org/Ticket/Display.html?id=2770&user=guest&pass=guest

パッチは次のとおりです。

0001-cryptodev-Fix-issue-with-signature-generation.patch 0002-cryptodev-allow-copying-EVP-contexts.patch

注: patch -p0 < 0001/2-*.patch は正しく機能しないため、手動で適用します。

私の理解が間違っている場合はお知らせください。

ブラジル、

& サヌマラ

0 投票する
2 に答える
2361 参照

python - context.use_certificate_chain_file 使用時の「キー値の不一致」

使用するcontext.use_certificate_chain_fileと、キー エラーが発生します (openssl.Context Python)。エラーは次のとおりです。

キー値の不一致を言っていますが、チェーンがそれに影響するとは思いません。

context.use_certificate_chain_file 行にコメントを付けると、完全に機能します (ただし、ブラウザーで ssl 検証エラーが発生します)。

これが私のコードのスニペットです:

エラーが発生する理由はありますか?

0 投票する
1 に答える
185 参照

port - GnuTLS を使用して特定の IP アドレスとポートに接続する方法

TCP クライアントとサーバーがあり、GnuTLS を使用してセキュリティ層を実装したいと考えています。GnuTLS のドキュメントを読みましたが、特定の IP アドレスやポートへの接続については触れていません。彼らは、証明書要求の生成に使用できる certtool テンプレートに IP アドレスを設定します。

しかし、私の場合、クライアントとして、UDP セッション中にサーバー アドレスを取得し、TCP ソケットをそれに接続します。

ドキュメントに記載されている例には、次の行があります。

(session, GNUTLS_NAME_DNS, "my_host_name", strlen("my_host_name"));

...サーバーアドレスを取得する責任があると私は信じています。

0 投票する
0 に答える
1123 参照

linux - GNUTLS クライアント サーバー TLS ハンドシェイク エラー

gnutls が提供する 2 つのサンプル例を使用しています。

  1. 変更なしの「X.509 証明書をサポートする単純なクライアントの例」
  2. 「X.509 認証を使用したエコー サーバー」。certtool と自己署名証明書「cert.pem」を使用して秘密鍵「key.pem」を生成し、例で使用しています。

    サーバーは正常に動作しています...出力は次のとおりです。

    サーバー準備完了。ポート「5556」をリッスンしています

しかし、クライアントの例を実行すると、次のエラーが返されます。

ハンドシェイクに失敗した GnuTLS エラー: TLS 接続が適切に終了されませんでした

そしてサーバーは以下を返します:

connection from 127.0.0.1, port 58587 Handshake has failed (リクエストが無効です。)

何が問題ですか?クライアントの例を変更する必要がありますか? そうでない場合、TLS ハンドシェイク プロセスと、クライアントとサーバー間で送信されるデータを確認するにはどうすればよいですか?

0 投票する
0 に答える
61 参照

c - GnuTLS 拡張機能

このサイト ( http://www.wikinology.cn/wiki/GnuTLS_Extension_Development_Notes ) で定義されているように、gnutls を使用して独自の TLS 拡張機能を追加しようとしたので、順を追って説明します。

注:私はgnutls-3.3.14と拡張機能を使用しました:SupportedAndAcceptedCertType.

1- m4/hooks.m4 :

2- gnutls_int.h:

GNUTLS_EXTENSION_SupportedAndAcceptedCertType=9999

3- gnutls_extensions.c:

/ * テスト * /

/ * テスト終了 */

4- ext ファイルに SupportedAndAcceptedCertType.h を作成します。

5- ext ファイルに SupportedAndAcceptedCertType.c を作成します。

6- Makefile.am:

現在、ウェブサイト「 http://www.wikinology.cn/wiki/GnuTLS_Extension_Development_Notes 」に基づいており、現在、「テンプレートファイルの更新:

これらのファイルを更新する必要があります:

lib/Makefile.in

lib/includes/gnutls/gnutls.h.in

どうすればこのステップを実行できますか? このステップの後、拡張機能はハンドシェイク (ClientHello および ServerHello) で私の拡張機能を確認できますか?

ありがとう

0 投票する
2 に答える
161 参照

ssl - _asn1_ordering_set_of による並べ替えによる署名検証の失敗

GnuTLS 3.4.1を使用しています。内部に一連のシーケンスを含む x509 証明書があります。証明書は、スマート カードにそのように保存されます。

GnuTLS は function を介してシーケンスを再配置しており_asn1_ordering_set_of、これが検証の失敗を引き起こしているようです。

シーケンスは次のようになります。

OpenSSL (およびおそらく Java PKCS11 プロバイダー) は、この構造をそのままロードします。証明書のロード時の GnuTLS は、この構造を に分類し_asn1_ordering_set_ofます。次のようになります。

GnuTLS がシーケンスのセットをソートするのはなぜですか? GnuTLS のバグなのか、それとも他のライブラリが単に順序付けを省略しているのか、どのようにすればよいのでしょうか?