問題タブ [libsodium]

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 に答える
2310 参照

android - Androidでのlibsodium統合

libsodiumライブラリを Android プロジェクトに統合しようとしています。Android Studio (0.5.8) と gradle (0.9) および Android ビルド ツール (19.1) を使用しています。ライブラリにあるスクリプトで libsodium をコンパイルしました。異なるアーキテクチャ (arm、arm-v7a、mips、x86) 用の 4 つの preBuild ライブラリ (.so ファイル) を取得します。このファイルを jniLibs フォルダー内に配置します。NDK を使用していることを build.gradle ファイルで宣言し、local.properties ファイルでパスを構成します。

このバージョンの gradle では、makefile を記述する必要はありません ( http://ph0b.com/android-studio-gradle-and-ndk-integration/ ) 。

静的呼び出しを行った後、アクティビティでいくつかのネイティブ関数を宣言します。

Logcat の出力は次のとおりです。

別のファイルで何かを宣言するのに欠けていますか? カリウム-JNIは本当に必要ですか?このライブラリをプロジェクトに含めるにはどうすればよいですか?

ありがとう。

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

encryption - 非対称暗号化 (libsodium) でナンスを使用するには?

ユーザーがエンドツーエンドの暗号化を使用してデバイス間で通信できるアプリを作成しています。これには libsodium 暗号化ライブラリを使用します。非対称暗号化関数 crypto_box(...) には、引数の 1 つとして nonce が必要です。

ノンスの処理方法について少し混乱しています。ある人へのすべてのメッセージは、異なるナンスを使用して暗号化する必要がありますか? 攻撃者が使用されたナンスの 1 つを再び使用できるパブリックアクセスのあるサーバーに使用されたナンスを保存する必要があるため、これは正しくないようです。

A から B に送信されるすべてのメッセージが異なるナンスを持つだけで十分ですか?それとも、A から B にメッセージを送信するために使用するナンスを、C から B に送信するために使用する必要はありませんか?

誰かが私にこれを説明してもらえますか。

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

android - Android Studio プロジェクトで libsodium を使用する

Android Studio プロジェクトで libsodium ライブラリを利用しようとしています。しかし、私はこれを行う方法を理解するのに苦労しています。libsodium Web サイトからライブラリをダウンロードしましたが、Android Studio プロジェクトに必要なライブラリ ファイルを作成する方法がわかりません。どんな助けでも大歓迎です。カリウム ( https://github.com/abstractj/kalium ) がこれを行うのに役立つと思いますが、それを組み込む方法についても少し混乱しています。

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

android - android eclipse jedisct1/libsodium どこから始めるか

libsodium 暗号化を実行する必要があるプログラムがあります。このライブラリlibsodiumを見つけまし たが、NDK で使用する必要があると思います。それで、NDK に関するチュートリアルを読み始めましたが、このライブラリの使用をどこから始めればよいかまだわかりません。誰かがこのライブラリを統合する方法についてのアイデアを提供するためのヒントや非常に役立つものを提供できれば、私はとても幸せです.

ありがとう

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

windows - libsodium を使用した libzmq のビルド

ZMQ バージョン 4.1 以降の編集: Configure は libsodium を自動的に検索するため、これは不要になりました。なんらかの理由で、libsodium を使用せずにビルドしたい場合で、ビルドしてインストールした場合は、「--without-libsodium」を使用して libzmq を構成します。


そのため、libsodium で zeromq をビルド/作成する際に問題が発生しています。

msys2をシェルとして使用しています-具体的にはmingw32_shell-、およびlibsodium 1.0.1およびmingw-w64 32ビット(gcc 4.9.2)を備えたzmq 4.1.0 rc1。

現在、このようにlibsodiumをコンパイルできます

そして、すべて問題なく、すべてのテストに合格し、libs と include は、msys2 が認識していると思われる /usr/local/ フォルダーに配置されます。

次に、これらのコマンドで zeromq をビルドしようとすると

configureが戻るので、configureステージを通過することはありません

この投稿で提案されている方法を試しました-ZeroMQはlibsodiumを検出しません-しかし、成功しませんでした。

したがって、私の質問は次のとおりです。--with-libsodium、--with-libsodium-include-dir=、--with-libsodium-lib- dir=、または msys2 のシェルが見つけられる場所にそれらを「インストール」しましたか?

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

java - Windows で Java で NaCl を使用する方法

私は最近ライブラリLibsodiumを見つけ、 Java 用の Bindingsもあることをうれしく思いました。残念ながら、ライブラリは他のシステム用に開発されているため、Windows では動作しないようです。

Windows でライブラリを使用するにはどうすればよいですか (可能な場合)。Java の代替ライブラリはありますか?

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

c# - ASP.NET に libsodium.net を含める方法

ASP.NET (.asmx を使用) ファイルでビルドされた古い Web サービスがあります。私はsodium.netを使用する必要があります-残念ながら、依存するlibsodium.dllファイルのロード中に失敗します。私が間違っていることについてのアイデアはありますか?

  • NuGet を使用して libsodium.net を追加しました。

  • 64 ビット DLL の名前を「libsodium.dll」に変更しました (およびその他の命名規則も)。

  • libsodium.dll を直接参照しようとしましたが、VS はそれを拒否しました (有効な DLL ではありません)。そのため、「出力にコピー」ではなく「コンテンツ」として追加しました。

  • ビルド後、Web サイト/Bin フォルダーにsodium.dll (.NET アセンブリ) と libsodium.net の両方が含まれていることがわかります。

  • libsodium.net を使用しようとすると、次のようになります。

    ERROR 2015-02-02 11:14:27,118 13798ms [41] CabinetService doRequest - キャッチ: 'Sodium.SodiumCore' の型初期化子が例外をスローしました。System.TypeInitializationException: 'Sodium.SodiumCore' の型初期化子が例外をスローしました。---> System.DllNotFoundException: DLL 'libsodium.dll' を読み込めません: 指定されたモジュールが見つかりませんでした。(HRESULT からの例外: 0x8007007E) DynamicDllInvokeType.sodium_init() at Sodium.SodiumCore..cctor() --- 内部例外スタック トレースの終わり --- Sodium.SodiumCore.LibraryName() at Sodium.SecretBox.Create(Byte [] メッセージ、Byte[] nonce、Byte[] キー) の Macaroons.SecretBoxCryptoAlgorithm.Encrypt(Byte[] キー、Byte[] plainText) は c:\Projects\Macaroons.Net\Macaroons.Net\SecretBoxCryptoAlgorithm.cs:line にあります。 58

そのため、Bin フォルダーにあるにもかかわらず、「libsodium.dll」が見つかりません。また、「sodium.net」への依存関係を削除しようとしましたが、「sodium.net」が見つからないという実行時エラーが発生した後、再度追加すると、そのエラーは消え、代わりに上記のものを取得しました( 「sodium.net」は正しくロードされます)。

そこで、「C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\cabinetservice」にある Web サイトのシャドウ フォルダーを開き、「sodium」を検索します。唯一の結果は、一部のサブフォルダーにある「sodium.dll」です。「libsodium.dll」はありません。

したがって、ASP.NET は、Web サイトのシャドウ コピーを作成するときに "libsodium.dll" ファイルを無視するようです。

また、libsodium.dll (32 ビット) を C:\Windows\System32 に、libsodium.dll (64 ビット) を C:\Windows\SysWOW64 に追加しようとしました。同じ結果です。

そして、C:\Windows\Microsoft.NET\assembly\GAC_32\libsodium と C:\Windows\Microsoft.NET\assembly\GAC_64\libsodium を試しました。同じ結果です。

ASP.NET に依存関係を認識させるにはどうすればよいですか?

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

c++ - libsodium、randombytes エラーで iOS 用の zeromq をビルドする

この方法を使用して iOS 用の zeromq ライブラリを構築しています: https://github.com/drewcrawford/libzmq-ios

3 回表示されるいくつかの警告を除いて、ビルド ログは正常に見えます。

ビルドしたライブラリを XCode プロジェクトに追加すると、10 個のエラーが生成されます。

エラーにリストされたすべての関数は、警告にリストされたランダムバイトを使用していると思います。

https://github.com/drewcrawford/libzmq-ios/releasesからライブラリを追加すると同じことが起こります

私が間違っていることは何ですか?

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

c++ - libsodium を使用して簡単なプロジェクトをビルドする

libsodium を使用する非常に単純な Qt プロジェクトを作成しました。(私は同じプロジェクトを作成し、Visual Studio 2010/2013 でうまくビルドできます。) しかし、Qt Creator はビルドできません:

main.obj:-1: エラー: LNK2019: 関数 main で参照されている未解決の外部シンボルsodium_init

これは私のプロジェクトです:

testSodium.pro:

main.cpp:

誰でも私を助けることができますか?

(私は Qt Creator 3.3.1、Qt 5.4.1 MSVC 2010 32 ビットを使用しています)
libsodium: https://download.libsodium.org/libsodium/releases/libsodium-1.0.2-msvc.zip