問題タブ [openssl]

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

c# - RSA 公開鍵を .NET から OpenSSL にインポートする方法

暗号的に安全な情報を渡す必要がある .NET プログラムと Borland Win32 プログラムがあります。現在の計画では、.NET アプリで公開キーと秘密キーのペアを作成し、公開キーをディスクに保存し、.NET プログラムが実行されている限り、秘密キーをメモリに保持します。

次に、Borland アプリはディスクから公開鍵を読み取り、OpenSSL ライブラリを使用して公開鍵でデータを暗号化し、その結果をディスクに書き込みます。

最後に、.NET アプリは暗号化されたデータを読み取り、秘密鍵で復号化します。

キーを .NET からエクスポートし、それを OpenSSL ライブラリにインポートする最良の方法は何ですか?

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

php - PHP 暗号化 openssl_pkcs7_encrypt() が失敗する

私はこのコードを持っています:

私のローカル開発環境(LAMPを実行しているMacbook)で正しく動作します。テストのためにWindowsサーバーに移動しましたが、openssl_pkcs7_encrypt毎回失敗します。関数は$enc_path;に書き込む必要があるため、これはパーミッションの問題だと思います。しかし、Windowsサーバー上のディレクトリを可能な限りオープンにしました。(何らかの関係がある可能性のあるほぼすべてのユーザー/グループに完全な制御を設定します。これをデバッグするための良い方法を知っている人はいますか?関数は、失敗したときに単に false を返し、理由がわからないようです.

さらに調査すると、スクリプトにはディレクトリへの書き込みアクセス権があるようです。$unec_path への書き込みは問題なく、への呼び出しで失敗するだけopenssl_pkcs7_encryptです。

別の更新: filemonを使用してリクエストを監視していますが、暗号化されていないファイルを開いて書き込みますが、暗号化されたファイルに書き込もうとしても出力がありません。

キーをロードする行も追加しました。エコーアウトしてロードしていることを確認しましたが、問題ないようです。

別の更新: filemon を再度監視すると、呼び出されるはずの頃openssq_pkcs7_encryptに、Windows tmp ディレクトリで暗号化されていないメッセージを探しているというエントリが表示されます。

0 投票する
3 に答える
3807 参照

ssl - STUNNEL/Win32 で動作するように SSL 接続を取得する

接続する必要があるサービスから 3 つのファイルが提供されたので、STUNNEL が必要とする Cert=xxx.PEM ファイルを作成するために必要なものを見つけようとしています。

「keystore.jks」ファイルがあります。keytool でそれをダンプすると、「秘密鍵エントリ」であると表示されます

「truststore.jks」ファイルがあります。「信頼できる証明書エントリ」であるというダンプ。別名は「サーバー」

「xyz.cer」ファイルもあります。それはX.509証明書のようです

OPENSSL と「KeytoolUI」という Java プログラムがあります。

要するに、私はたくさんのファイルとツールを持っていますが、SSL の知識があまりないので、木には木が見えないように感じます。これらすべてのファイルが必要ですか? 私が他のサービス用に持っている既存の PEM ファイルには、「証明書」セクションと「RSA 秘密鍵」セクションしかありません。

アドバイスをいただければ幸いです。ありがとう!

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

openssl - 有効性拡張CAに秘密鍵情報が含まれていないのはなぜですか?

自己署名されたrootcacert.pemが1つあり、来月期限切れになります。特定の理由により、次のコマンドを使用してこのrootcacertの有効性を拡張しました。

openssl x509 -in rootcacert.pem -days 365 -out extendedrootcacert.pem --signkey rootcakey.pem -text

したがって、新しいルートcaをextendedrootcacert.pemとして取得します。新しいルートCAを使用すると、古いルートCAによって署名されたユーザー証明書と、この新しいルートCAによって署名された新しいユーザー証明書を使用できます。すべての機能は問題なく正常に動作します。

しかし、このextendedrootcacert.pemと元のrootcacert.pemファイルをメモ帳を使用して開いたところ、内容に違いがあることがわかりました。

rootcacert.pemには、秘密鍵とその他の情報(Private- Key、publicExponent、privateExponent、prime1、prime2、exponent1、exponent2、coefficient)があります。

http://ospkibook.sourceforge.net/docs/OSPKI-2.4.7/OSPKI-html/sample-key-components.htm

ただし、新しいextendedrootcacert.pemにはこの情報が含まれていません。他のすべてのフィールドは、両方の証明書で同じです。

元のrootcacert.pemがどのように生成されたかわかりません。

アプリケーションの機能に悪影響はありますか?この情報を新しい拡張ルートCAに含める方法はありますか?この情報を新しい拡張ルートCAに含めることは絶対に必要ですか?

入力に感謝します。

0 投票する
3 に答える
2656 参照

iphone - リンクされたライブラリが見つからないため、Xcode でのコンパイルが失敗する

iPhone アプリの一部の C コード用に openssl lib が必要です。だから私は自分のプロジェクトにライブラリを入れました。

しかし、コンパイルすると、Xcode はいくつかのエラーをスローします。

エラー: openssl/ssl.h: そのようなファイルまたはディレクトリはありません

それは含めるための私のコードです:

Xcode でのターゲット設定:

代替テキスト http://img17.imageshack.us/img17/2266/bild3tez.png

正しくリンクするために欠落している手順はどれですか?

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

ssl - OpenSSL を使用した SSL の紹介はどこにありますか?

クライアント/サーバー通信を保護するために SSL を使用する基本的な方法について知りたいです。OpenSSLでこれを行う方法に関するドキュメントはどこにありますか?

これまでに見つけた中で最高のものは、stunnel のソース コードです ( http://www.stunnel.org/ )...

より正確には、クライアントがサーバーに接続し、安全なハンドシェイクを行い、サーバーの証明書が有効であることを確認し (たとえば、信頼できる CA によって署名されている、期限切れでないなど)、データを送信できるようにする必要があります。

0 投票する
15 に答える
302585 参照

java - Java キーストアを PEM 形式に変換する

keytool と openssl アプリケーションを使用して、Java キーストア ファイルを PEM ファイルに変換しようとしています。しかし、変換を行う良い方法が見つかりませんでした。何か案は?

キーストアを直接 PEM に変換する代わりに、最初に PKCS12 ファイルを作成してから、関連する PEM ファイルとキーストアに変換しようとしました。しかし、それらを使用して接続を確立できませんでした。(安全な接続を実装するには、PEMファイルとキーストアファイルが必要なだけであることに注意してください。「Javaキーストアファイルから開始する」などの制限はありません。:)私の場合、他の形式から開始してもかまいません)

ただし、 jks から pem への直接変換方法を使用することをお勧めします。

0 投票する
3 に答える
4376 参照

ruby - Ruby で AES_ENCRYPT および AES_DECRYPT 関数を模倣する

組み込み関数 AES_ENCRYPT() および AES_DECRYPT() を使用して文字列を暗号化および復号化するときに MySQL が行うことを模倣する必要があります。

いくつかのブログ投稿を読みましたが、どうやら MySQL はこれらの機能に AES 128 ビット暗号化を使用しているようです。さらに、この暗号化には 16 ビット キーが必要なため、MySQL は、サイズが 16 ビットになるまで文字列に x0 文字 (\0s) を埋め込みます。

MySQL のソース コードから C で記述されたアルゴリズムは、ここで確認できます。

今度は MySQL が Rails アプリケーションで行うことを再現する必要がありますが、私が試したすべてのことはうまくいきません。

私が得ている動作を再現する方法は次のとおりです。

1) 新しい Rails アプリを作成する

2) 新しい足場を作成する

3) config/database.yml を編集し、テスト MySQL データベースを追加します。

4) 移行を実行する

5) コンソールに入り、ユーザーを作成し、MySQL クエリからパスワードを更新します

それが私が立ち往生したところです。MySQL を使用して復号化しようとすると、次のように機能します。

ただし、OpenSSL ライブラリを使用しようとしても、それを機能させる方法はありません。

キーをパディングしてみました:

しかし、それは本当にうまくいきません。

RubyでMySQL AES_ENCRYPT()およびAES_DECRYPT()関数の動作をどのように模倣できるかについての手がかりはありますか?

ありがとう!

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

installation - 靴と宝石

私は靴レーズンを持っています(0.r1134)[i686-darwin8.9.1]+ビデオ

次のようにShoes.setupブロックを設定しようとしています。

mwa.loginに到達するまではすべて正常に機能します。これにより、安全なログインを実行するXML-RPCラッパーAPIに移動します。エラーが発生します:

未定義のメソッド`closed? ' にとって #

irbを起動して「my_webservice_api_wrapper.rb」をロードすると、すべて正常に機能するため、Shoesに何をいつロードする必要があるかを誤解しているのではないかと思います。

助けていただければ幸いです。靴は本当にかっこいいですね。