Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ca-bundle を EC-CUBE パッケージに同梱 #1667

Merged
merged 3 commits into from Dec 12, 2016

Conversation

ttsuru
Copy link
Contributor

@ttsuru ttsuru commented Aug 8, 2016

ComposerではMozilla CA bundle 問題の解決にCA bundleを同梱し、必要な場合に参照するようにしています。
https://github.com/composer/ca-bundle
https://github.com/composer/ca-bundle/blob/master/src/CaBundle.php#L94

上記にならい、EC-CUBEでもCA bundleを同梱することで、Windows環境でのトラブルを無くし、それ以外の環境でも適切な処理を行うように対応可能です。

現状では証明書をダウンロードしていますが、そのまま同梱することで極力問題を軽減できるかと思います。

refs #1624, #1521

@ttsuru
Copy link
Contributor Author

ttsuru commented Aug 8, 2016

本件、 composer/ca-bundle では証明書が利用できるかの検証も CVE-2013-6420 に影響のない環境のみで行うように配慮されており、実装も単純かつ独自実装を行うよりも安全になっています。

  * https://github.com/composer/ca-bundle を利用し状況によってca-bundleを利用
  * 既存の admin_store_authentication_setting は廃止
@ttsuru
Copy link
Contributor Author

ttsuru commented Aug 9, 2016

コンフリクト解消しました。

@ryo-endo
Copy link
Contributor

@chihiro-adachi 内容と方針の確認をお願いします。

@chihiro-adachi
Copy link
Contributor

@ttsuru
ありがとうございます。xamppでも動作しました。

1点要望なのですが、app/config/ec-cube/cacert.pemが設置されていれば、そちらを利用するようにはできないでしょうか。
composerが使えない環境も考えられるため、ca-bundleを更新する必要が出てきた際に、回避できる手段を残しておきたいと考えています。

@ttsuru
Copy link
Contributor Author

ttsuru commented Aug 19, 2016

@chihiro-adachi

composerが使えない環境も考えられるため、ca-bundleを更新する必要が出てきた際に、回避できる手段を残しておきたいと考えています。

リリース時にはComposerパッケージもEC-CUBEに同梱されるため、問題ないのではないでしょうか。
実態のファイルは vendor 以下に保存されています。

また、 app/config/ec-cube/cacert.pem を利用するには composer/ca-bundle を拡張する必要があるため、若干大変だと思います。

@chihiro-adachi
Copy link
Contributor

@ttsuru

遅くなりましてすみません。
ca-bundleが更新する必要があるが、EC-CUBE本体がまだリリースされていない、ようなケースを想定していました。その際にcomposer以外で証明書を更新できる手段があればよいなと。

と思っていたのですが、ca-bundleのコードみてると、php.iniや環境変数でも定義できるようなので、回避できる手段はありそうですね。
ありがとうございます。

@nanasess
Copy link
Contributor

php.iniや環境変数でも定義できるようなので

php.ini や環境変数の変更できないレンタルサーバーだと困ったりしませんか?

@ryo-endo ryo-endo added this to the 3.0.x milestone Aug 26, 2016
@ttsuru
Copy link
Contributor Author

ttsuru commented Aug 26, 2016

@chihiro-adachi
EC-CUBEのリリースタイミングのほうが、ca-bundleの失効よりも早いことは明確です。
composerでも同様のアプローチですので、このアプローチが適切かと思います。

@ryo-endo
Copy link
Contributor

@ttsuru 万が一有効期限が切れてしまった場合は、その時点での最新EC-CUBEに同梱されているpemファイルを、FTPなりで送信して上書きすればOKという認識であっていますか?(Composerが使えないような環境の場合)

@ttsuru
Copy link
Contributor Author

ttsuru commented Sep 28, 2016

@ryo-endo
万が一切れてしまった場合には、 vendor以下にある、 composer/ca-bundle 以下を更新すれば良いかと思います。

また、証明書の細かいメンテも行われているようです。
composer/ca-bundle@ec21a59

@Yangsin Yangsin added the enhancement 機能追加 label Oct 13, 2016
@Yangsin Yangsin modified the milestones: 3.0.13, 3.0.x Nov 24, 2016
@Yangsin
Copy link

Yangsin commented Nov 24, 2016

@ttsuru 対応おそく申し訳ありませんが、こちら採用させていただきますので、コンフリクトの解消だけお願いできますでしょうか。

@ttsuru
Copy link
Contributor Author

ttsuru commented Nov 24, 2016

@Yangsin
了解しました。
いつ頃までにあると良いでしょうか。

@Yangsin
Copy link

Yangsin commented Nov 24, 2016

@ttsuru
ソース凍結を12月中旬に予定しておりますので、そこまでにあれば大丈夫です。
私の気持ちは来週にでもredy-for-mergeにさせていただきたいです。

@ttsuru
Copy link
Contributor Author

ttsuru commented Dec 8, 2016

@Yangsin
修正しました。

@Yangsin
Copy link

Yangsin commented Dec 8, 2016

ありがとうございます。マージ待機にさせていただきます。

@Yangsin Yangsin merged commit 8402bd3 into EC-CUBE:master Dec 12, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants