問題タブ [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.
ruby - 自身の CA からの OpenSSL 検証証明書
こんにちは。これを読んでくれてありがとう。
証明書を持っている自分の CA によって発行された証明書を検証する必要があります。opensslと同等のことを行うにはどうすればよいですか
openssl 検証 -CAfile
Rubyコードで?この点では、OpenSSL の RDoc はあまり役に立ちません。私はもう試した:
しかし、私は得る:
http://www.ruby-doc.org/stdlib/libdoc/openssl/rdoc/index.htmlの OpenSSL Rdoc で「検証」を見つけることさえできません 。
どんな助けでも大歓迎です。再度、感謝します!
security - OpenSSLのBIOラッパーとSSL呼び出しの違いは何ですか?
BIO_ *の方法を使用すると、生のSSL_ *呼び出しよりも明らかに有利になるかどうか、私は長い間混乱してきました。
私はもっとコントロールできると思ったので、常に非バイオを使用します。
https - SSLバグの回避策
接続しているhttpsサーバーのSSL実装にバグがあるようです。この問題は最初は私のアプリケーションで発生しましたが、opensslコマンドラインユーティリティを使用してデバッグ/再現しているので、現時点ではアプリケーションとは何の関係もないと確信しています。
以外のオプションを指定せずにリモートサーバーに接続すると-connect
、OpenSSLはSSLv2 CLIENT-HELLOを送信し、サーバーはTLSv1 ServerHelloで応答し、すべてが正常に進行します。
に接続すると-ssl3
、OpenSSLはSSLv3 ClientHelloを送信し、サーバーはSSLv3 ServerHelloで応答します。これも、すべて問題ありません。
ただし、-no_ssl2
またはに接続すると-tls1
、OpenSSLはTLSv1 ClientHelloを送信し、サーバーはで応答し"TLS 1.0 Alert [length 0002], fatal unexpected_message"
ます。これは、アプリケーションで見られた元の問題です。
この時点で考えられる回避策はいくつかありますが、この特定のサーバーを特別なケースにするのではなく、一般的なものを探しているのが理想的です。そのため、このための何らかの「標準」回避策があることを期待しています。
ssl - OpenSSL を使用して証明書署名要求から要求された有効期間を抽出する
お客様の認証には、OpenSSL を利用したプライベート認証局を使用しています。認証局が署名するための CSR ファイルをアップロードできるシンプルな Web ベースのユーティリティを提供しています。
現時点では、一定期間、現在は 365 日間のみ証明書を発行できます。ただし、代わりに証明書の有効期間を指定できるかどうか、お客様からお問い合わせがありました。
CSRを生成するときに有効期間を指定する必要があるため、ユーザーに有効期間を尋ねる必要はなく、証明書に署名するときにCSRからこの期間を抽出することは理にかなっています。しかし、私はそれを行う方法を理解することはできません.OpenSSLがCSR、証明書、およびキーをデバッグするために行う通常のことは、関連情報を表示しません.これは、「openssl req -text -noout <の出力の例です。 csrfile":
要求された有効期間についての言及はどこにもありません。
助言がありますか?
ssl - 組み込みの Web サーバーと証明書
Web サーバーが組み込まれたアプリがあります。このWebサーバーは、OpenSSLパッケージを介してSSLを実行できるようになりました:)
次に、証明書の問題に進みます。このアプリは販売されています。これは、私が所有するサーバーに置かれているだけでなく、何千ものコンピューターにインストールされているためです。お客様の安全を確保したいので、できるだけ苦労せずに SSL を使っていただきたいと思っています。現在、独自の CA を作成してから、自己署名証明書を作成しています。つまり、すべてのお客様 (およびそのユーザー) は、カスタムのインストール固有の CA をインストールするか、証明書からの信頼されていないルートの警告を受け入れる必要がありますが、どちらも魅力的ではありません。
それを回避する方法は?
次のいずれかが必要です。
- CA のインストールを非常に簡単にします (ブラウザは意図的にこれを非常に困難にしています -- 多くの恐ろしい警告ダイアログが表示されます)。
- どうにかして、ブラウザで認識された CA によって正当に署名されたすべての顧客証明書を取得します。
- 顧客に独自の証明書を購入してインストールするように強制する
#1 をどうするか分からないので、#2 を見ています。#3はほとんど問題外です。
SSL証明書を購入して、製品と一緒に出荷することもできます。そうです、誰もが同じ証明書を使用しており、証明書と秘密鍵がパブリックドメインに漏洩する可能性があります...うーん。 ..おそらく、責任のために私たちの名前を付けたくありません...
問題は、そもそも CA の目的に反する作業をしていることだと思います。これをユーザーにとって簡単かつ安全にする方法について何か考えはありますか? (中間者攻撃は問題ではないと仮定します。実際に文書化されたことはありますか??)
openssl - 自分/小規模組織の認証局
次の基準を満たす小さな CA ソフトウェアが必要です。
- CLI インターフェース (私たちは皆、サーバー ソフトウェアの GUI が大嫌いですよね?)
- Web サイトの証明書の発行。そのため、クライアント マシンに 1 つのルート証明書をインストールするだけで、その警告を取り除くことができます)。
- 定義済みの値を使用してユーザー証明書を発行します (p12 やその他のものとして、それらを使用して認証できます)。
tinyca を見ていましたが、やや時代遅れで、うまく機能しませんでした。
Openssl はこれらすべてを実行できるため、一連のシェル スクリプト (または Makefile) をコーディングして、このタスクを自動化できます。それで、誰かがすでにこれをやったのではないかと思っていましたか?
php - OpenSSL を使用した MediaWiki/Apache/PHP/MySQL のデータベース接続に SSL を要求する
学校のプロジェクトで、MediaWiki をローカル マシンにインストールしました。ローカルの MySQL データベースへのデータベース接続には SSL を使用する必要があります。すべてのドットを接続する方法がわかりません。これまでに行ったことは次のとおりです。
- OpenSSL をインストールし、自己署名証明書と関連するキーを作成しました。
- phpinfo() は、OpenSSL が有効になっていることを示します。
- これを my.ini の [mysqld] セクションに含めました。
ssl-key="C:/newcerts/server-key.pem" ssl-cert="C:/newcerts/server-cert.pem" ssl-ca="C:/newcerts/ca-cert.pem"
MySQL コマンド ラインを実行すると、ルート パスワードの入力を求められ、入力すると、エラー 1045:アクセスが拒否されたなどのメッセージが表示されます。
bin ディレクトリから mysql -u root -p ssl-ca="C:/newcerts/ca-cert.pem" を実行してパスワードを入力すると、成功し、mysql プロンプトが表示されます。実行中のステータスは SSL を示しています: 使用中の暗号は DHE-RSA-AES256-SHA です。
ここで私は混乱しています。SSL を使用するデータベース接続を要求するには、他に何を行う必要がありますか (Apache、PHP 構成ファイル、MediaWiki ファイルなどを使用)。