2

OpenSSL を winRT (ARM ではなく x86 上の Windows 8 メトロ) に移植する必要があるため、WinRt 用のコンパイルから始める予定です。http://www.openssl.org/source/からソースコードをダウンロードしました

ソース コードには、MacOS、OS2 などの OS 固有のフォルダーがいくつか表示され、ms フォルダーもありますが、ビジュアル スタジオ プロジェクトは表示されません。OpesSSL のコンパイルについてこれまで読んだことはすべて、makefile と mingw について語っていますが、makefile にはあまり慣れていません。さらに、Windows 8 で cygwin と perl がサポートされるかどうかもわかりません。ビジュアルスタジオを使用してWindows 8で。あなたの知識を共有するか、これを行うのに役立つ方向性を教えてください。どうもありがとう

4

3 に答える 3

2

OpenSSL は、Windows 8 でデスクトップ モードのみでビルドされます。Metro/WinRT は Winsock (または API 互換の代替手段) を提供しなくなったため、WinRT 用に直接コンパイルすることはできません。

于 2012-07-24T23:43:24.950 に答える
2

メトロ スタイルの SSL 暗号化のソリューションはうまく機能します。ただし、Web サービスに接続していない場合は、いくつかの欠点があります。
- SSL ハンドシェイクのパラメーター (暗号、サーバー証明書の検証など) を制御できない
- サーバーに対してクライアントを認証するためのユーザー証明書を提示できない
- SSL スタックの新しい暗号化などのアップグレードについては Microsoft に依存しています。

openssl を Windows ランタイムに移植する作業を行っている人がいます。http://openssl.6102.n7.nabble.com/winrt-random-td42100.htmlを参照 してください。
これは、winsock サポート (メモリ BIO のみ) なしで openssl のみを構成およびビルドし、サポートされていない機能を置き換えることを意味します。

したがって、それを行うことは可能ですが、すぐに使用できる状態ではまだサポートされておらず、組み込みのソリューションと比較してかなりの作業が必要です。しかし、すでにopensslを使用しているソフトウェアを移植したい場合、これが解決策になる可能性があります.

于 2013-04-13T09:48:06.437 に答える
1

なぜ WinRT で OpenSSL を使用したいのですか??

セキュリティ目的でのみ使用する場合は、メトロ スタイルの WinRT で省略できます。WinRT 自体が、次のような Metro スタイルのソケット プログラミングのセキュリティを提供するためです。

//0: A plain socket with no encryption.
socket->ConnectAsync(hostname, serviceName, SocketProtectionLevel::PlainSocket);

//1: A socket that must use the SSL for encryption. This value requires encryption and never allows a NULL cipher.
socket->ConnectAsync(hostname, serviceName, SocketProtectionLevel::Ssl);

//2: A socket that prefers to use the SSL for encryption. This value prefers that full encryption be used, but allows a NULL cipher (no encryption) based on the server configuration.
socket->ConnectAsync(hostname, serviceName, SocketProtectionLevel::SslAllowNullEncryption);
于 2012-07-23T13:13:42.537 に答える