Drupal SalesForce Suiteモジュール https://www.drupal.org/project/salesforce を使用してSalesForceへの認証に問題があります
ソケットssl://ap2.salesforce.com:443を開くときにエラーが発生しました
Drupal DevDesktop 2を使用して(ビルド:2015年11月22日12:34:41))PHP 5.6でSSLがオンになっているMacOSXマシンで実行しています。 Ubuntuサーバーでは、Macとまったく同じ設定を使用して、salesforceモジュールを問題なく認証できます。
Macでこの追加のテストを実行すると、同様のエラーが発生します。
fsockopen('ssl://google.com',443,$errno,$errstr) ? print("UP") : print("DOWN:".$errstr);
警告:fsockopen():SSL操作はコード1で失敗しました。OpenSSLエラーメッセージ:error:14090086:SSLルーチン:SSL3_GET_SERVER_CERTIFICATE:certificate verifyがtest.phpの2行目で失敗しました
警告:fsockopen():2行目のtest.phpで暗号を有効にできませんでした
警告:fsockopen():2行目のtest.phpでssl://google.com:443(不明なエラー)に接続できませんDOWN:
Phpinfo()を表示すると、「Openssl default config」の設定が/Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl/openssl.cnfであることがわかります
このバージョンのDev Desktopは、ローカル開発でSSLをサポートすることになっています。 DevDesktopのドキュメントから: https://docs.acquia.com/dev-desktop/sites#https
ローカルサイトでのHTTPS(SSL)の使用ローカルWebサイトのローカルサイトURLリンクには、[httpsを使用]チェックボックスがあります。 Use httpsチェックボックスを選択すると、Acquia Dev DesktopはHTTPSプロトコルを使用してサイトにサービスを提供し、自己署名SSL証明書を使用して安全なトラフィックをシミュレートします。これにより、運用サイトで使用するSSL証明書を複製することなく、安全なWebサイトをローカルで開発およびテストできます。
これまでに誰かがこれに遭遇したことがあり、言及されている自己署名SSL証明書を指すようにDevDesktopを取得するにはどうすればよいですか?
周りを見回した後、私は同様の問題に関するケノーブの返事を見つけました: https://drupal.stackexchange.com/a/149456/625
私のMacにインストールされているDevDesktopファイルを探し回った後、なんとか解決しました。
問題は、証明書ファイルがデフォルトの場所に存在しないことです。
print_r(openssl_get_cert_locations());
戻り値
Array (
[default_cert_file] => /Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl/cert.pem
[default_cert_file_env] => SSL_CERT_FILE
[default_cert_dir] => /Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl/certs
[default_cert_dir_env] => SSL_CERT_DIR
[default_private_dir] => /Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl/private
[default_default_cert_area] => /Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl
[ini_cafile] => [ini_capath] => )
したがって、存在しないディレクトリ「/ Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl /」でcert.pemを探しています。
これを解決するには、/ Applications/[Devデスクトップフォルダ] /php5_6/bin/php.iniを編集します
次の行を追加します。
[openssl]
openssl.cafile="/Applications/[Dev desktop folder]/common/cert/cacert.pem"
openssl.capath="/Applications/[Dev desktop folder]/common/cert/"
[Devデスクトップフォルダー]は、Devデスクトップフォルダーの名前です。