問題タブ [luasec]
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.
windows - Lua for Windows https エラー:「%1 は有効な Win32 アプリケーションではありません」
Lua と https について質問があります。Lua をサポートするルーター用のソフトウェアを開発しています。悪いことに、このルーターはデバッグをサポートしていません。そこで、Lua 用の IDE を探していました。
Win 7 64 ビット OS で Lua 開発ツールと LuaForWindows を使用しています。これまでのところ、すべてが正常に機能しています。しかし、今はいくつかの URL を https で呼び出さなければなりません。require ("ssl.https")
ルーター自体にはパッケージ ssl.lua があり、ステートメントでこのパッケージを使用できます。しかし、Lua 開発ツールでデバッグしたいのです。Windows と互換性のあるパッケージを探していて、「Luasec」プロジェクトを見つけました。
このスレッド「Lua with Freebase API」で言及されているように。Luasecをダウンロードしました。
ssl.lua
および ssl フォルダーを lua インストール内に配置しssl.dll
、lua インストール内の clibs フォルダーに配置しました。
テストのために、Lua ファイルで require ("ssl.https") のみを行いますが、クラッシュします。それは言います:
Win 7 32ビットPCでもテストしましたが、次のようにクラッシュします:
この仕事を手伝ってくれる人はいますか?
https - HTTPS での送信に LuaSec を使用するにはどうすればよいですか
私のスクリプトでは、ライブラリ LuaSocket を使用して XML コードを送信します。これは、次のコードで正常に機能します。
しかし今、私は XML を証明書付きのプロトコル HTTPS で送信します。LuaSec を使用できることはわかっていますが、どうすればよいですか? コードを HTTPS 用の動作するコードに変更する方法を教えてもらえますか?
lua - Luasec - SMTP を使用して gmail 経由でメールを送信する
luasec を使用して gmail アカウントに接続し、SMTP 経由でメールを送信しようとしましたが、しばらくすると安全でないアプリの接続を許可できましたが、gmail 経由で安全な接続を実装する方法を知りたいです。
ここで見つけた次のコードを使用しました。ここでは、gmail に接続する前にソケット接続が ssl によってラップされていますが、Google はまだ接続が安全でないと言っています。
自己署名証明書を作成し、それを ssl ラップの変数として使用するところまで行きましたが、それでも gmail は接続が安全でないと識別します。プロトコルを変更する必要がありますか、それとも luasec ライブラリを更新する必要がありますか?
その点で、hotmail / outlook.com 経由でメールを送信することもできませんでした
https - Lua - HTTPS / tlsv1 アラートの内部エラー
Lua を使用してCleverbot APIとやり取りしようとしています。キーとユーザー名を取得したので、Postman でテストしたところ、完全に機能しました。次に、Lua で同じことをしようとしましたが、奇妙なエラーが発生しています。
これはコードです:
ただし、これを呼び出すと、これらの 4 つの印刷が表示されます。
代わりにHTTPを使用して接続しようとしましたが、これが起こります:
response
は常に空です。お願いします、私は何を間違っていますか?ありがとう!
c++ - lua 5.3.5 + luasocket 3.0-rc1 + luasec 0.8 : 複数の luaopen_xxx_xxx エクスポートされた関数名を持つ WIN32 DLL
Windows 7 64 ビット コンピュータで Embarcadero C++Builder 10.1 32 ビットを使用しています。Embarcadero IDE の CB10.1 32 ビット フリー バージョンですべてをコンパイルしています。lua 5.3.5 を dll にコンパイルしました。次に、lua.c を DOS 実行可能ファイル lua.exe (lua dll を使用) にコンパイルすると、正しく実行されているように見えます。luasocket 3.0rc1 を 2 つの dll (ソケットと MIME) に準拠させました。
luasocket スクリプト (ltn12.lua、mbox.lua、mime.lua、および socket.lua) は、「lua」フォルダーに配置されます。残りの luasocket スクリプト (「ftp.lua」、「headers.lua」、「http.lua」、「smtp.lua」、「tp.lua」、および「url.lua」) は、「socket フォルダー」に配置されます。「socket.dll」は「core.dll」に名前が変更され、「socket」フォルダーに配置されます。「mime.dll」は「core.dll」に名前が変更され、「mime」フォルダーに配置されます。
コンパイルした lua.c + dll を使用して、DOS プロンプトから lua を実行します。http/ftp/smtp リクエストを正しく行うことができます。lua はすべての luasocket core.dll および *.lua スクリプトを正しく検出できるようです。
しかし、https を使用する Web ページをリクエストすると、lua が 'https.lua' を読み込もうとすると、モジュールが見つからないというエラーが発生します。
そのため、luaSec 0.8 と OpenSSL 1.0.2s をコンパイルしてインストールしようとしています。
luaSec を WIN32 dll にコンパイルしたいと考えています。私はこれを行うことができます。必要に応じて「options.lua」を使用して新しい「options.h」を作成しました。DLL 依存関係プログラム (Dependency Walker 2.2) を使用すると、dll から 4 つのエクスポートされた関数が表示されます。
dll の名前が core.dll に変更され、「ssl」フォルダーに配置されます。luaSec ディストリビューションの「https.lua」は「ssl」フォルダーに配置され、「ssl.lua」は「lua」フォルダーに配置されます。
それで:
私の lua スクリプトには luasocket が必要です。
luasocket (http.lua 内) には luaSec が必要です。
次に luaSec (https.lua 内) には以下が必要です。
次に、luaSec (ssl.lua 内) には以下が必要です。
「ssl.core」の最初の require が機能します。「ssl.context」の 2 番目の require は、「module 'ssl.context' not found」で失敗します。
luaSec を 4 つの dll (core.dll、context.dll、x509.dll、および config.dll) にコンパイルして、各 dll にエクスポートされた関数が 1 つだけあり、その関数名が require ステートメントと一致するようにすると、https 要求が機能します。
luaopen_ssl_x509、luaopen_ssl_context、およびluaopen_ssl_configの「core.dll」内でluaがどのように見えると予想されるかは、私にはわかりません。おそらく、lua の require() 関数は、dll ごとに複数のエクスポートされた関数をサポートしていません。
これに関するガイダンスはどこにも見つかりません。