問題タブ [starttls]
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.
php - cakephp 2.0 SMTPメール
CakePhp 2.0 を使用して電子メール メッセージを送信しようとしています。私のコントローラーでは、このコードを使用します(問題ないことはわかっています。クックブックから取得しました):
そしてapp/config/email.php
私はこの設定を持っています:
問題は、サーバーが次のように応答することです。
アカウント名とパスワードは正しいです。サンダーバードにロードすると構成が機能し、smtpサーバーへの接続は次のように設定されます。
サーバー名 : mail.myServer.com
ポート : 587
接続セキュリティ : STARTTLS
認証 : 通常のパスワード
ユーザー名 : mYaccount
c - Cからメールを送る方法
C を使用してメールを送信するにはどうすればよいですか?
私は数日間探し回っていましたが、最終的に尋ねることにしました。
これを試しましたhttp://www.muquit.com/muquit/software/mailsend/mailsend.htmlが、-starttls コマンドを認識しなかったため、機能しませんでした。私の主なターゲットはgmailサーバーです。
前もって感謝します!
ldap - ssl/tls を介した ldapsearch が機能しないのはなぜですか?
SSL/TLS 接続で ldapsearch を使用しようとしていますが、うまくいきません:
エラー メッセージは、何が問題なのかについて十分なヒントを提供していません。対照的に、ポート 389 では、単純なバインドと検索は問題なくうまくいきます。
ヒントはありますか?
PSここに私のldap.confがあります:
に変更しようとしましTLS_REQCERT
たnever
が、まだ機能しません。:-(
perl - Net::LDAP::Bind の不正なファイル記述子
Net::LDAP との次の LDAP 接続を確立しています。
これは機能し、後でクエリを作成してユーザーの資格情報を確認することもできます。しかし、サーバー証明書を検証しようとすると:
正常に接続を確立し、サーバー証明書を検証しますが、Bind 操作を試行しているときに、次の LDAP メッセージ パラメータを取得します。
結果コード 82 が LDAP_LOCAL_ERROR として定義されているので驚いていますが、すべての証明書ビットが機能しているようです。「cafile」パラメータを間違った値に変更すると、「I/O Error Connection reset by peer」というエラー メッセージが表示されて失敗します。
何か案は?前もって感謝します。
更新:証明書の検証が成功していないことに気付きました。LDAP サーバーは、私が言われたものとは別の証明書を使用していました。openssl を使用してハンドシェイク プロセスを監視することで、次のことに気付きました。
サーバーが効果的に使用している証明書が表示されます。
haskell - 単純な smtp に tls-extra を使用する
gmail アカウントを介してメールを送信するための簡単なスクリプトを作成しようとしています。でも初心者なのでそんなに簡単ではありません。私はグーグルを試しましたが、ハックを除いて、ヘルプや例はまったくありません.
問題は、tls-extra(または tls) を使用して STARTTLS 交換を開始する方法が見つからなかったことです。
わかりました、ここにコードがあります:
もう 1 つのことは、何が起こっているかを知るために listen 関数を使用することです。しかし、書き込みと一緒に使用する方法がわかりません。つまり、データを送信しているときにサーバー側で何が起こっているかを確認できるようにしたいと考えています。
問題を解決する可能性のある 2 つの関数を見つけました。
1 つ目は tls 用で、2 つ目は同時に送受信するためのものです。しかし、それらを機能させることはできないようです。
ここで混乱しないことを願っています。助けていただければ幸いです。
PS: 英語は私の母国語ではありません。
編集:だから、私はいくつかの進歩を遂げました。
それでも、その TLS ハンドシェイクをネゴシエートする方法がわかりません。
私は言わなければなりません、私は答えがないことに非常に驚いています。他にも数回問題がありましたが、コミュニティはすぐに助けてくれました。しかし、これは興味をそそるようには見えません (単なるコンスタテーションです)。ここ SO または #haskell または developmentpez.com でも。
とにかく、Google と tls に関するいくつかの指針を歓迎します。msmtp クライアント コードを確認しましたが、率直に言って、必要なレベルがありません。
python - SSLで既存のソケットをラップする-Python
Pythonプログラムのsslで既存のソケット接続をラップするのに問題があります。基本的に、これはSTARTTLSの実装です。つまり、現在接続されているクライアントがSTARTTLSコマンドを発行でき、サーバーが接続を保護します。
これが私が苦労しているコードの部分です:
opensslを使用して接続すると、次のようになります。
私はこれを実行して接続しています:
-ssl2
、、、-no_ssl2
またはを使用するようにopensslコマンドを変更して-tls1
も役に立ちません。追加も試みましserver_side=True to wrap_socket()
たが、SSLハンドシェイクがタイムアウトになります。
wrap_socket()
STARTTLSコンテキストで接続を使用しようとしたときではなく、接続が最初から最後まで暗号化されている場合は正常に機能することに注意してください。
Pythonのバージョンは2.4.3です
よろしくお願いします。ポインタや助けに感謝します。
security - セキュリティレイヤーのバイト精度?
XMPP RFCにはMUST
、仕様で「セキュリティ層のバイト精度」と規定されているため、STARTTLSとSASLに使用されるXMLに空白を含めてはならないという2つのディレクティブがあります。それは何ですか?
RFCからの関連する抜粋:
..。
STARTTLSネゴシエーション中、エンティティはXML要素間の区切り文字として空白を送信してはなりません(つまり、送信された'urn:ietf:params:xml:ns:xmpp-tls'名前空間で修飾された第1レベル要素の最後の文字から)開始エンティティによって、受信エンティティによって送信された「urn:ietf:params:xml:ns:xmpp-tls」名前空間によって修飾された第1レベル要素の最後の文字まで)。この禁止は、適切なセキュリティ層のバイト精度を確保するのに役立ちます。
... SASLネゴシエーション中、エンティティはXML要素間の区切り文字として(つまり、「urn:ietf:params:xml:ns:xmpp-sasl」で修飾された第1レベル要素の最後の文字から)空白を送信してはなりません。開始エンティティによって送信された名前空間。受信エンティティによって送信された「urn:ietf:params:xml:ns:xmpp-sasl」名前空間によって修飾された第1レベル要素の最後の文字まで)。この禁止は、適切なセキュリティ層のバイト精度を確保するのに役立ちます。
php - Failed to send AUTH LOGIN command. Error: 530 5.7.0 Must issue a STARTTLS command first
I am having the following code
But when the code executes, I am getting the following error
Failed to send AUTH LOGIN command. Error: 530 5.7.0 Must issue a STARTTLS command first. qd9sm8462833pbb.31
I have used
in my controller's constructor. But I am unable to send email from localhost. What can be the solution to send email? What changes do I need to make?
php - TLS SMTP 証明書が PHP で有効であることを確認するにはどうすればよいですか?
中間者攻撃 (他の誰かになりすましたサーバー) を防ぐために、SSL 経由で接続している SMTP サーバーにも有効な SSL 証明書があることを確認したいと思います。
たとえば、ポート 25 で SMTP サーバーに接続した後、次のように安全な接続に切り替えることができます。
ただし、PHP が SSL 証明書をチェックしている場所については言及されていません。PHP にはルート CA のリストが組み込まれていますか? 何でも受け入れるだけですか?
証明書が有効であり、SMTP サーバーが実際に私が思っているとおりのものであることを確認する適切な方法は何ですか?
アップデート
PHP.netに関するこのコメントに基づいて、いくつかのストリーム オプションを使用して SSL チェックを実行できるようです。最良の部分は、stream_context_set_optionがコンテキストまたはストリーム リソースを受け入れることです。したがって、TCP 接続のある時点で、CA 証明書バンドルを使用して SSL に切り替えることができます。
また、SSL オプションを拡張するコンテキスト オプションとパラメータも参照してください。
ただし、これで主な問題は解決しましたが、有効な証明書が実際に接続先のドメイン/IP に属していることを確認するにはどうすればよいですか?
つまり、私が接続しているサーバーの証明書にも有効な証明書がある可能性がありますが、有効な証明書を使用して「example.com」のように動作する別のサーバーではなく、「example.com」に対して有効であることをどのように確認できますか?
更新 2
steam コンテキスト パラメータを使用して SSL 証明書をキャプチャし、 openssl_x509_parseで解析できるようです。
email - SMTP サーバーに接続する場合、最初に SSL または TCP/STARTTLS を試す必要がありますか?
SMTP は、ポート 25 を介した暗号化されていない通信を許可します。一部のサーバー (Google の MX サーバーなど) では、最初の暗号化されていない接続を確立した後、STARTTLS を使用して TLS 接続に切り替えることができます。
ただし、ストレートな SSL 接続もサポートしたいと考えています。ほとんどのメール サーバーが SSL で開始することを好むのか、TCP で開始し、接続後に TLS に移行することを好むのか疑問に思っています。