問題タブ [libcrypto]

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 投票する
1 に答える
2196 参照

windows - Windows で OpenSSL を使用して cUrl をコンパイルすると、-lcrypto と -lssl が欠落している

SSL をサポートしないで cUrl をコンパイルしようとしても、問題はありません。私は次のようなコマンドを使用します:

cUrl INSTALL ファイルの指示に従って SSL をサポートし、この方法でコンパイルしようとしました。

しかし、次のエラーが発生するため、機能しません。

Shining Light Productionsから cUrl v7.40.0 と Win64 OpenSSL v1.0.2a をダウンロードしました。私が理解していることから、この OpenSSL のディストリビューションには、コンパイラが探しているものと、私が持っていないandの代わりにlibeay32.dlllibssl32.dllandが含まれています。また、フォルダーに 3 つの dll がすべてあることも確認しました。私は MinGW-w64 コンパイラを使用していますが、MSYS は使用していません。バージョン 4.9.2 です。ssleay32.dlllibcrypto.dlllibssl.dllC:\Windows\System32

Win64 で SSL をサポートする cUrl ライブラリをコンパイルするには、どうすればよいですか? コンパイル コマンドや一部のファイルを変更する必要がありますか?それとも最初に間違ったバージョンの OpenSSL をダウンロードしましたか? どんな助けでも本当に感謝しています。

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

c - openssl ライブラリで x509 証明書ハッシュを取得する

私は現在、openssl ライブラリ (libcrypto) を使用して証明書を生成するアプリに取り組んでいます。ここで、既存の証明書のハッシュを取得する必要があります。

ターミナルを使用すると、次を使用してハッシュ値を生成できます

出力: 01da0e2b

これは、C のライブラリを使用してハッシュ値を生成しようとする私のコードです。

出力: 1817886a

しかし、実際には私の出力は別のものです。誰が私が間違っているのか考えていますか?

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

c++ - libcurl をプロジェクトに静的にリンクします (それでも DLL が必要です)

C/C++ プラグインで Netbeans IDE を使用しています。

私のコードは問題なくコンパイルされます。 CURL_STATICLIBが定義されています (-DCURL_STATICLIBこれも試し#define CURL_STATICLIBました)。

リンクされたライブラリ

これは私のリンクされたすべてのライブラリです。

exeを複数のDLLでパッケージ化することを避けようとしているので、静的にリンクしようとしています。

リンクの後でも、依存関係のエラーが発生します。(libcurl.dll libeay32.dll)

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

c - OpenSSL AES_cbc_encrypt vs EVP インターフェイス

AES-CBC を使用して、存続期間の長いネットワーク データ ストリームを暗号化する必要があります。私は一度だけ呼び出して、その後の への呼び出しEVP_EncryptInit_ex()のために E を保存することを考えていました。次に、復号化側でも同様に行います。私が発見した最初の問題は、EVP_DecryptUpdate が常に 1 ブロック遅れることです。たとえば、32 バイトを暗号化すると、最初の復号化の更新では、32 バイトすべてを復号化したことがわかっていても、16 しか返されません。これは、すべての後に呼び出し、次の更新の前に iv をリセットする必要があることを意味すると思います。VP_CIPHER_CTXEVP_EncryptUpdateEVP_DecryptFinalEVP_DecryptUpdateEVP_EncryptInit_ex()

2 番目の懸念は、これらのストリームが何千もある可能性があり、メモリ フットプリントを最小限に抑えようとしていることです。sizeof(EVP_CIPHER_CTX)はわずか 168 バイトですが、1000 回の呼び出しの前後にメモリ使用量を照会するとEVP_EncryptInit_ex()、コンテキストごとに追加の 412 バイトが割り当てられているように見えます (これは、最初の呼び出しの後に 20K の上にあります)。

訂正、CTX あたり 168 + 412 ではなく 412 バイトと表示されます

インターフェイスは、AES_cbc_encrypt()私のニーズに対してはるかに優れているように見えます。固定の 260 バイトAES_KEY構造があり、さらに 16 バイトの IV を自分で維持する必要があります。ただし、私が理解していることから、AES-NI Intel ハードウェア アクセラレーションは使用されません。 https://security.stackexchange.com/questions/35036/different-performance-of-openssl-speed-on-the-same-hardware-with-aes-256-evp-an AES-NIを有効にする方法はありますかAEC_cbc_encrypt()インターフェイスで?EVP の 2 倍のメモリ要件は、API の単なる副作用ではなく、速度を向上させるために必要ですか? AES-NI を使用する OpenSSL の代替手段はありますか?

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

c - libcrypto と libcurl を使用した OCSP

証明書の有効性を検証する必要があるアプリケーションを作成しています。そのために、OCSP を使用したいと思います。OCSP を自分で実装するのではなくlibcrypto、必要なデータを準備するために OpenSSL を調べていました。

私はこれを思いつきました(わかりやすくするためにエラー処理を削除しました):

これはリクエストをうまく送信します。唯一の問題はOCSP_sendreq_bio()、HTTP プロキシを介した HTTP リクエストの送信をサポートしていないように見えることです。これは私にとってブロッカーです。ドキュメントには、それについて次のように書かれています。

これらの関数は、レスポンダーに対して最小限の HTTP クエリのみを実行します。アプリケーションがより高度な機能をサポートしたい場合は、代替のより完全な HTTP ライブラリを使用する必要があります。

どうやってそうするかは言われていないだけで、私にはそれを理解できないようです。OCSP_sendreq_bio()呼び出しは構造体を ASN.1 構造に変換しますが、それOCSP_REQUESTを可能にするパブリック呼び出しはないようです (何かが欠けていない限り)。

私はこれを正しい方法で行っていますか?そうでない場合、代わりに何をすべきですか?

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

linux - ssh の解決方法: /usr/lib64/libcrypto.so.10: バージョン情報がありません

私はsshを実行しようとしていますが、次のメッセージが表示されました:

CURLでも同じことが起こりました:

解決策はありますか?

ldd ssh の出力は次のとおりです。

古いバージョンの openssl をインストールしようとしましたが、うまくいきませんでした。

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

c++ - QStrings での AES 暗号化、libcrypto++

メッセージを暗号化および復号化する次のコードがあります。

問題は、私がランダムに取得することです:

コンテンツを復号化するとき。QString一部の Unicode データが含まれている可能性があるため、暗号化は を完全にサポートする必要があります。ただし、[Az][az][0-9] のみを含む基本的な文字列でも機能しません。

aesKeyサイズは256です。

Stack Overflow に関するいくつかの回答に続いて、誰かがHexDecoder/の使用を提案しましHexEncoderたが、私の場合は問題を解決しません。