Starting SDK release 5.2 the post quantum media encryption is available when using ZRTP.
cmake .. -DENABLE_PQCRYPTO=ON
By default ZRTP won’t use post quantum algorithm, so you have to configure it.
You can do it in your configuration file, like this:
[sip]
zrtp_key_agreements_suites=MS_ZRTP_KEY_AGREEMENT_K255_KYB512
Or in code:
linphone_core_set_zrtp_key_agreement_suites(core, key_agreement_algorithms);
Ex) linphone-sdk/.gitlab-ci-files/linux-desktop/linux-desktop-ubuntu-rolling.yml
Ex) linphone-desktop/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml
デスクトップ版LinphoneでPost Quantumオプションを有効化してビルド
デスクトップ版Linphoneのビルドオプションについては下記テーブルを参照して下さい。AppImageによるパッケージをビルドします。AppImageによるアプリの動作条件は、Linuxディストリビューションに依存しないため、ビルド環境も、どのディストリビューションを利用しても構いません。
下記オプションの ENABLE_APP_PACKAGING(AppImage)
と ENABLE_PQCRYPTO(Post Quantum)
を指定してビルドします。
Options
Options |
Description |
Default value |
ENABLE_APP_LICENSE |
Enable the license in packages. |
YES |
ENABLE_APP_PACKAGING |
Enable packaging. Package will be deployed in OUTPUT/packages |
NO |
ENABLE_APP_PDF_VIEWER |
Enable PDF viewer. Need Qt PDF module. |
YES |
ENABLE_APP_WEBVIEW |
Enable webview for accounts. The Webview engine must be deployed, it takes a large size. |
NO |
ENABLE_APP_PACKAGE_ROOTCA |
Embed the rootca file (concatenation of all root certificates published by mozilla) into the package |
YES |
ENABLE_BUILD_APP_PLUGINS |
Enable the build of plugins |
YES |
ENABLE_BUILD_EXAMPLES |
Enable the build of examples |
NO |
ENABLE_BUILD_VERBOSE |
Enable the build generation to be more verbose |
NO |
ENABLE_DAEMON |
Enable the linphone daemon interface. |
NO |
ENABLE_PQCRYPTO |
Enable post quantum ZRTP. |
NO |
ENABLE_STRICT |
Build with strict compilator flags e.g. -Wall -Werror |
NO |
ENABLE_TESTS |
Build with testing binaries of SDK |
NO |
ENABLE_TESTS_COMPONENTS |
Build libbctoolbox-tester |
NO |
ENABLE_TOOLS |
Enable tools of SDK |
NO |
ENABLE_UNIT_TESTS |
Enable unit test of SDK. |
NO |
ENABLE_UPDATE_CHECK |
Enable update check. |
YES |
LINPHONE_SDK_MAKE_RELEASE_FILE_URL |
Make a RELEASE file that work along check_version and use this URL |
“” |
ソースコードをGitLabからダウンロードします。
$ git clone https://gitlab.linphone.org/BC/public/linphone-desktop.git --recursive
Dockerコンテナ内にビルド環境を構築しコンテナ内でビルドします。デスクトップ版Linphoneのソースには、ビルド環境を構築するためのDockerファイル(docker-files)が含まれていますが、このままでは使えません(Debianの場合、バージョンが古いことによるパッケージのアップデート不具合、設定したPython仮想環境のパスでインストール作業をする必要あり)。
ダウンロードしたフォルダに含まれる linphone-desktop/linphone-sdk/bc-dev-debian12
をベースにした新規Dockerファイル bc-dev-debian-12-appimage
を linphone-desktop/docker-files
内に作成します。
内容は linphone-desktop/docker-files/bc-dev-debian9-appimage
の中身を変更したものです。
linphone-desktop/docker-files/bc-dev-debian12-appimage
(変更箇所のみ記載)
# build from linphone-desktop/linphone-sdk/docker-files/bc-dev-debian12
FROM gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian12:20230706_add_deps_for_av1
.....
.....
# Manual
RUN sudo /opt/bc/pip-packages/bin/pip install aqtinstall
RUN sudo /opt/bc/pip-packages/bin/python3 -m aqt install $QT_VERSION linux desktop -O /opt/Qt -m $QT_MODULES
.....
.....
ENV Qt5_DIR=/opt/Qt/$QT_VERSION/gcc_64/lib/cmake
ENV PATH=/opt/Qt/$QT_VERSION/gcc_64/bin:$PATH
ENV PS1='\[\e[34m\]\u@bc-dev-debian12>\[\e[0m\] '
CMD bash
上記Dockerファイルから開発環境イメージを作成
注)linphone-desktopディレクトリで実行すること
$ docker build -f docker-files/bc-dev-debian12-appimage --no-cache -t linphone-sdk-desktop:debian12 --rm .
上記イメージからコンテナを稼働
注)linphone-desktopディレクトリで実行すること
$ docker run --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined --name linphone-desktop-sdk -v $PWD:/home/bc -it linphone-sdk-desktop:debian12
上記コマンドについては下記も参照願います。
コンテナ内でビルド
# mkdir build
# cd build
# cmake .. -DENABLE_APP_PACKAGING=YES -DENABLE_PQCRYPTO=YES -DCMAKE_BUILD_PARALLEL_LEVEL=10 -DCMAKE_BUILD_TYPE=RelWithDebInfo
# cmake --build . --target install --parallel 10 --config RelWithDebInfo
AppImageパッケージが build/OUTPUT/Packages
に作成されるので、これを任意の場所に移動して実行権を付与して起動して下さい。