This service is available only in Japanese-language.
NXP i.mx6qp sabresd を使用しています。
yocto2.1(Krogoth) の openssl が 1.0.1h のため自学のため
bitbake の段階でopenssl 1.1.にアップデートしようとレシピ修正を試みました。
NXPから yocto3.0(Zeus) が出ているためそれを bitbake してしまえば
終了となるんですが、
件名の通り、 openssl のみアップデートしたいと思っております。
質問したいのはやり方等ではなく、難易度というか実現性についてです。
ネットなどの情報を調べていろいろと試しましたがうまくいかず。
識者の方であればこの辺りご存じかと思い投稿させて頂きました。
yakuhito
2020/12/7 (月) 23:54
バックポートだけでなく、共存も考慮する必要があります。
opensslの1.1.x をバックポートする場合は、2つの問題があります。
1.build system の仕様の変更に伴う、レシピ内の記述の変更。
こちらは、リファレンスマニュアルの各バージョンにおける変更点をチェックすることで
対応可能ですが、機能向上によって簡潔に記載できるようになった項目に関するバックポートは
ちょっと手間がかかるかと。
2.2つのバージョンを共存させる必要がある。
opensslの1.0と1.1では、互換性の無い変更も一部あり、1.0.x も残す必要があります。
Yocto2.6/2.7 では、別のレシピ名に変更して共存可能となっていますが、既定ではopenssl-1.1 を使用し、
openssl-1.0.x が必要な場合はopenssl10-1.0.x を追加で構築する構成となっています。
Yocto2.1(krogoth)は既定をopenssl1.0.x として、openssl1.1.x をopenssl11-1.1.x.bb と、別ののPNを
指定する必要があると考えます。
といったヒントが役に立つと良いのですが……
fraz
2020/12/8 (火) 10:27
ご返信ありがとうございます。
素人目線で申し訳ないですが、なんとなく難しという事は理解できました。
ビルドエラーを見ていると「共存」もあるのかなっと若干感じておりました。
例えばの話ですがセキュリティ観点からして、opensslをアップデートしたい場合、
一般的にはyocto 自体をアップデートとなるんでしょうか?
その場合ですといろいろなパッケージも更新されますし、
ハードウェア(組み込み)に対する変更が悪影響しないかどうか確認するのも大変かと思いました。
yakuhito
2020/12/8 (火) 16:18
セキュリティの視点からは、できるだけ最新のものを使うことをお勧めしますが……
opensslに限らず、多くのOpenSourceのコンポーネントに関して、日々脆弱性が発見され対処が行われています。
BSPの上で開発されたアプリケーションが何を使っているかに依存しますが、簡単にBSPをアップデートするのが難しい状況も考えられます。(依存するパッケージのAPIが変更になるアップデートが行われるなど)
現在使用中のBSPにどのような脆弱性が含まれるのかのチェックを行い、開発元やサードパーティで提供されているパッチがあれば、それを適用してリリースするといった流れになるかと考えます。
opensslの場合は、以下で紹介するURLにて有償のサポートもありますので、こちらを利用することも、一つの選択肢として有るかと思います。
https://www.openssl.org/support/contracts.html
fraz
2020/12/8 (火) 18:34
ありがとうございました!
今回ご回答頂いて、もやもやしていた事がはっきりしたように思えます。
自学ではそう簡単に行かない気がしたので、
少し視点を変えたアプローチを検討してみます。
本当にありがとうございました。
また質問させて頂くことがあるかもしれません。
よろしくお願いいたします。
また掲示板に書くような質問でなかったかもしれません。
皆様お目汚し失礼しました。