2017-11-15 2 views
1

いくつかのOSXバージョンでは、these tutorialsを使用してSSLを含むローカル開発環境を設定しています。署名されていないSSL証明書とローカルカールでシエラの問題が多い

私も常にこのようなフォルダ構造に基づいた動的な仮想ホストを作成することができました

# Auto-VirtualHosts with .dev 
<VirtualHost *:8080> 
    ServerName dev 
    ServerAlias *.dev 

    CustomLog "/Users/username/Sites/logs/dev-access_log" combinedmassvhost 
    ErrorLog "/Users/username/Sites/logs/dev-error_log" 

    VirtualDocumentRoot /Users/username/Sites/%-2+ 
</VirtualHost> 
<VirtualHost *:8443> 
    ServerName dev 
    ServerAlias *.dev 
    Include "/Users/username/Sites/ssl/ssl-shared-cert.inc" 

    CustomLog "/Users/username/Sites/logs/dev-access_log" combinedmassvhost 
    ErrorLog "/Users/username/Sites/logs/dev-error_log" 

    VirtualDocumentRoot /Users/username/Sites/%-2+ 
</VirtualHost> 

含まれるSSLファイルが存在し、このようなものです:

SSLEngine On 
SSLProtocol all -SSLv2 -SSLv3 
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW 
SSLCertificateFile "/usr/local/etc/httpd/server.crt" 
SSLCertificateKeyFile "/usr/local/etc/httpd/server.key" 

そして生成しますその証明書私はこのコードを実行します:

$ cd /usr/local/etc/httpd 
$ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt 

これはいつも大丈夫でしたが、ローカルに。私はcurlをうまく実行することができます。特にWordPressの開発では、おそらくcurlを使用するcronタスクを実行できます。私は地元のHTTPSのURLへcurlを実行したとき、私はこのエラーを取得し、

There was a problem spawning a call to the WP-Cron system on your site. This means WP-Cron events on your site may not work. The problem was: cURL error 60: SSL certificate problem: self signed certificate

、コマンドラインで:ハイシエラにアップグレードする際に

、私はワードプレスで次のエラーを取得する

curl: (60) SSL certificate problem: self signed certificate More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

私は最初のチュートリアルのすべてのアイテムを再インストールしようとしましたが、今まで何も手伝っていませんでした。私も組み込みの代わりに自作バージョンからcurlをインストールしようとしましたが、これは何の効果もないようです。ハイシエラについて知っていることがあります。もしそうなら、私はローカル開発のためにこれを回避するために何ができるのですか?

+0

スタックオーバーフローは、プログラミングや開発の質問のためのサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく[スーパーユーザ](http://スーパーユーザ。com /)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)がもっと良い場所になるでしょう。 – jww

+0

*** 'CN = www.example.com' ***はおそらく間違っています。ホスト名は常に* SAN *に入ります。 * CN *内に存在する場合は、* SAN *にも存在する必要があります(この場合は2回リストする必要があります)。詳細なルールと理由については、[証明機関との証明書署名要求の署名方法](http://stackoverflow.com/a/21340898/608639)および[opensslによる自己署名証明書の作成方法]( http://stackoverflow.com/q/10175812/608639)また、自己署名証明書を適切なトラストストアに配置する必要があります。 – jww

+0

@jwwそれは確かに地元の開発環境を設定することです。だから私はここで大丈夫だろうと思っていました。私はCN = www.example.comを置くことを覚えていませんが、混乱させているのは、以前のOSXバージョンのユニバーサルSSLとして、ローカル開発のためにうまくいきました。これはHigh Sierraで何かが変更されたことを意味しますか? –

答えて

1

カールCA証明書ストアに自己署名証明書を追加する必要があります。

まず、あなたがに保存されているperlスクリプトを実行して、CAバンドルを生成する必要があります。

/usr/local/Cellar/curl/7.56.1/libexec/mk-ca-bundle.pl 

編集生成されたファイル:

/usr/local/Cellar/curl/7.56.1/libexec/ca-bundle.crt 

と同じ構文を使用して、自己署名証明書を追加します。

あなたはして証明書を取得することができますBEGINENDラインを含む

-----BEGIN CERTIFICATE----- 

-----END CERTIFICATE----- 

へ:から

openssl s_client -showcerts -connect my.server.com:443 

コピーのすべて。その後、ファイル含む~/.curlrcを作成し :

cacert /usr/local/Cellar/curl/7.56.1/libexec/ca-bundle.crt 
+0

私はこれまで、これをSystemのKeychain Accessツールに追加して、常に信頼のアクセス許可を与えてみました。それはここで何が起こっているようですか?それは何も変わらないようです。 –

+0

'which curl'の出力は何ですか? –

+0

'/ usr/local/bin/curl' –

関連する問題