Armadilloフォーラム

ABOSDEでCREATE NEW PROJECTに失敗する件

sys-fuku

2024年11月26日 15時45分

==========
製品型番:AX2210
Debian/ABOSバージョン:3.20.3-at.4
カーネルバージョン:5.10.228
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
お世話になります。
Armadillo-X2を購入し、製品マニュアルに沿って開発環境を構築してサンプルアプリを動作させようとしています。
その過程で以下の問題に直面しており、解決方法をご教示いただけないでしょうか。
問題:
ABOSDEでCREATE NEW PROJECT > G4/X2 > Python New Projectを選択してプロジェクトを作成しようとすると、
download error: FetchError: request to https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/… failed, raeson: unable to get local issuer certificate
と表示されてプロジェクトを作成することができません。認証の問題かと思いますが対処法はありますでしょうか。
その他:
・ATED9のFireFoxで上記のURL(https://download.atmark-techno.com)へはアクセスできております。
・ATED9からcurlで上記URLへアクセスしても同じエラーが表示されアクセスできませんが、curlに-kオプションをつけることでアクセスできます。
・ABOSDEはオンラインでインストールできず、vsixファイルをいったんホスト端末へダウンロードしてからATDE9へ共有してオフラインでインストールしました。その後、VS Codeを認証無視のオプション(--ignore-certificate-errors)で起動するとVS Codeの拡張機能がオンラインでインストールすることがわかりました。このようにすることでプロジェクトを作成できるかも?と思いましたが、拡張機能のインストールと違い出来ませんでした。

よろしくお願いいたします。

コメント

佐藤です。

ATDEで以下のコマンドを実行後にプロジェクトを作成する、またはcurlによるファイルの取得(-kオプション無し)するとどうなりますでしょうか。

[ATDE]$ sudo update-ca-certificates --fresh

それでもエラーとなる場合、以下のコマンドの実行結果をいただけますでしょうか。

[ATDE]$ dpkg -l ca-certificates

および

[ATDE]$ openssl s_client -connect download.atmark-techno.com:443 -showcerts

> 佐藤です。
>
> ATDEで以下のコマンドを実行後にプロジェクトを作成する、またはcurlによるファイルの取得(-kオプション無し)するとどうなりますでしょうか。
>

> [ATDE]$ sudo update-ca-certificates --fresh
> 

> それでもエラーとなる場合、以下のコマンドの実行結果をいただけますでしょうか。
>

> [ATDE]$ dpkg -l ca-certificates
> 

> および
>

> [ATDE]$ openssl s_client -connect download.atmark-techno.com:443 -showcerts
> 

佐藤様
ご返信ありがとうございました。
update-ca-certificates --freshを実施しても状況は変わらずエラーとなりました。
コマンドの実行結果を添付しますので、よろしくお願い致します。

ファイル ファイルの説明
dpkg結果.txt dpkg -l ca-certificatesの実行結果です
openssl結果.txt openssl s_client -connectの実行結果です

佐藤です。

ログありがとうございます。
すいませんもう一点

[ATDE]$ sudo update-ca-certificates --fresh

を実行した時に表示されたものもいただけますでしょうか。

> 佐藤です。
>
> ログありがとうございます。
> すいませんもう一点
>

> [ATDE]$ sudo update-ca-certificates --fresh
> 

> を実行した時に表示されたものもいただけますでしょうか。

佐藤様
お世話になります。
update-ca-certificates --freshのログを添付いたします。
よろしくお願いいたします。

ファイル ファイルの説明
update-ca-certificates.txt

佐藤です。

ありがとうございます。

firefox を使ったウェブサイトの閲覧はできているようですが、
firefox を使う前に firefox の設定にある「プライバシーとセキュリティ」の「証明書」のところから
なにか特別な証明書をインポートしたりしましたでしょうか。
(いただいた openssl のログから、おそらく Zscaler 社が発行した証明書をfirefoxにインポートしたのではないかと推察しております)

> 佐藤です。
>
> ありがとうございます。
>
> firefox を使ったウェブサイトの閲覧はできているようですが、
> firefox を使う前に firefox の設定にある「プライバシーとセキュリティ」の「証明書」のところから
> なにか特別な証明書をインポートしたりしましたでしょうか。
> (いただいた openssl のログから、おそらく Zscaler 社が発行した証明書をfirefoxにインポートしたのではないかと推察しております)
>

佐藤様
ありがとうございます。
証明書をインポートする操作は行ってはおりません。
ただ、ZScalerは弊社内のセキュリティ上開発環境PCに設定されているものになり無効にすることができません。

at_dominique.m…

2024年11月27日 12時12分

sys-fukuさん

よこからすみません、
マルティネです。

> ZScalerは弊社内のセキュリティ上開発環境PCに設定されているものになり無効にすることができません。

無効化する必要はありませんが、TLS の接続を中間者攻撃と同じやりかたでインスペクションしていますので、ATDE に ZScaler の証明書を教える必要があります。何も設定しないままでエラーするのは正しい動作です。
(firefox はなぜ操作なしで接続できてるのかは不明ですが…)

いただいた openssl コマンドの出力に ZScaler の証明書が記載されていますので、以下のとおりにその証明書を許可すれば接続はできるようになると思います。

ATDE$ sudo tee /usr/local/share/ca-certificates/zscaler_root_ca.crt <<EOF
-----BEGIN CERTIFICATE-----
MIIEQTCCAymgAwIBAgICAQMwDQYJKoZIhvcNAQELBQAwgaExCzAJBgNVBAYTAlVT
MRMwEQYDVQQIEwpDYWxpZm9ybmlhMREwDwYDVQQHEwhTYW4gSm9zZTEVMBMGA1UE
ChMMWnNjYWxlciBJbmMuMRUwEwYDVQQLEwxac2NhbGVyIEluYy4xGDAWBgNVBAMT
D1pzY2FsZXIgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTc3VwcG9ydEB6c2NhbGVy
LmNvbTAeFw0yMDA2MDUwNTMzMTlaFw00MTA2MjMwNTMzMTlaMIGpMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEVMBMGA1UEChMMWnNjYWxlciBJbmMu
MRUwEwYDVQQLEwxac2NhbGVyIEluYy4xMzAxBgNVBAMTKlpzY2FsZXIgSW50ZXJt
ZWRpYXRlIFJvb3QgQ0EgKHpzY2xvdWQubmV0KTEiMCAGCSqGSIb3DQEJARYTc3Vw
cG9ydEB6c2NhbGVyLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AL1jJ79rdyq82MQxBd5v0193M0+JE3VZpizKmfseQ5FjuTj6ai4Qhw/G3vL3VXa3
P24/MbfaDn5WPAMp2LmZhF+Mv7WmETbPy1wVi0U2WZKROe9MeQSfXiJi7mtLYluP
PHEkOeki2gXM+AXDO+pdY/HVNxYGC3uc37xpPafHzSB1aV4GyTi2L7m4bKlNl3GY
8WWKe1nJUwgZEd+Pa1HxneNvEz8cj7LvZysgXPqnT7MuKXcAWepbGz5jQlPWM4U5
Og0/hn8PEg/4gRwvjBKtUWDlHWNcynjTk6IJM0W2Qx9qUR5BDc/5cNJuh1trl8j/
BLKIPDc9W9o/E7bXgwoFtH8CAwEAAaN5MHcwHQYDVR0OBBYEFBFTWZHscKAsSZ9n
35ET0aF34xauMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgH+MDsGA1UdHwQ0MDIw
MKAuoCyGKmh0dHA6Ly9nYXRld2F5LnpzY2xvdWQubmV0L2NybC96c2MtaW50LmNy
bDANBgkqhkiG9w0BAQsFAAOCAQEAEvJfnZHJUucldbDWSP8WfHPCnzbjbJr1RUtA
JZyC7+3kM4wx6TpVZj4Q+Y4/i3ebzDTROhiTe+6iTlcPmRh9Y+7EYQKw53IjGQsG
O7jwP3O3iHTzL1dZ9WbCEQ5jR6vNp3YZlv3YkOYNinb+fjvQpFcLS//SAnn0frwT
UUxGLewzGpW+KYfkF81ZF7m8ORHxmpYwhowjuLZ/lENZywzSQ44Jh5P6YVRDKq8m
8sfOTS2vZq1dyI41EFD/DLej1XcAJKscuDd4FYBp6BqTTwE0azXWFyPaaNV1QGrP
mAbSn8Bw1PBwPZQP0+D4bF60+Qgur6L3jlnh2kCpPTuy6Bqk0w==
-----END CERTIFICATE-----
EOF
ATDE$ sudo update-ca-certificates
Updating certificates in /etc/ssl/certs...
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
Processing triggers for ca-certificates-java (20230620~deb12u1) ...
Replacing debian:zscaler_root_ca.pem
done.
done.

その操作を行った後に curl で -k オプションを使用せずに接続できるようになったはずですが、いかがでしょうか。
できなかった場合は中間証明書も登録する必要があるかもしれませんがそれだけで足りると思います。

curl で問題なければ ABOSDE (VS Code) でももう一度試していただければ幸いです。 VS Code をリスタートする必要があるかもしれません。

よろしくお願いします

> sys-fukuさん
>
> よこからすみません、
> マルティネです。
>
> > ZScalerは弊社内のセキュリティ上開発環境PCに設定されているものになり無効にすることができません。
>
> 無効化する必要はありませんが、TLS の接続を中間者攻撃と同じやりかたでインスペクションしていますので、ATDE に ZScaler の証明書を教える必要があります。何も設定しないままでエラーするのは正しい動作です。
> (firefox はなぜ操作なしで接続できてるのかは不明ですが…)
>
> いただいた openssl コマンドの出力に ZScaler の証明書が記載されていますので、以下のとおりにその証明書を許可すれば接続はできるようになると思います。
>
>

> ATDE$ sudo tee /usr/local/share/ca-certificates/zscaler_root_ca.crt <<EOF
> -----BEGIN CERTIFICATE-----
> MIIEQTCCAymgAwIBAgICAQMwDQYJKoZIhvcNAQELBQAwgaExCzAJBgNVBAYTAlVT
> MRMwEQYDVQQIEwpDYWxpZm9ybmlhMREwDwYDVQQHEwhTYW4gSm9zZTEVMBMGA1UE
> ChMMWnNjYWxlciBJbmMuMRUwEwYDVQQLEwxac2NhbGVyIEluYy4xGDAWBgNVBAMT
> D1pzY2FsZXIgUm9vdCBDQTEiMCAGCSqGSIb3DQEJARYTc3VwcG9ydEB6c2NhbGVy
> LmNvbTAeFw0yMDA2MDUwNTMzMTlaFw00MTA2MjMwNTMzMTlaMIGpMQswCQYDVQQG
> EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEVMBMGA1UEChMMWnNjYWxlciBJbmMu
> MRUwEwYDVQQLEwxac2NhbGVyIEluYy4xMzAxBgNVBAMTKlpzY2FsZXIgSW50ZXJt
> ZWRpYXRlIFJvb3QgQ0EgKHpzY2xvdWQubmV0KTEiMCAGCSqGSIb3DQEJARYTc3Vw
> cG9ydEB6c2NhbGVyLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
> AL1jJ79rdyq82MQxBd5v0193M0+JE3VZpizKmfseQ5FjuTj6ai4Qhw/G3vL3VXa3
> P24/MbfaDn5WPAMp2LmZhF+Mv7WmETbPy1wVi0U2WZKROe9MeQSfXiJi7mtLYluP
> PHEkOeki2gXM+AXDO+pdY/HVNxYGC3uc37xpPafHzSB1aV4GyTi2L7m4bKlNl3GY
> 8WWKe1nJUwgZEd+Pa1HxneNvEz8cj7LvZysgXPqnT7MuKXcAWepbGz5jQlPWM4U5
> Og0/hn8PEg/4gRwvjBKtUWDlHWNcynjTk6IJM0W2Qx9qUR5BDc/5cNJuh1trl8j/
> BLKIPDc9W9o/E7bXgwoFtH8CAwEAAaN5MHcwHQYDVR0OBBYEFBFTWZHscKAsSZ9n
> 35ET0aF34xauMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgH+MDsGA1UdHwQ0MDIw
> MKAuoCyGKmh0dHA6Ly9nYXRld2F5LnpzY2xvdWQubmV0L2NybC96c2MtaW50LmNy
> bDANBgkqhkiG9w0BAQsFAAOCAQEAEvJfnZHJUucldbDWSP8WfHPCnzbjbJr1RUtA
> JZyC7+3kM4wx6TpVZj4Q+Y4/i3ebzDTROhiTe+6iTlcPmRh9Y+7EYQKw53IjGQsG
> O7jwP3O3iHTzL1dZ9WbCEQ5jR6vNp3YZlv3YkOYNinb+fjvQpFcLS//SAnn0frwT
> UUxGLewzGpW+KYfkF81ZF7m8ORHxmpYwhowjuLZ/lENZywzSQ44Jh5P6YVRDKq8m
> 8sfOTS2vZq1dyI41EFD/DLej1XcAJKscuDd4FYBp6BqTTwE0azXWFyPaaNV1QGrP
> mAbSn8Bw1PBwPZQP0+D4bF60+Qgur6L3jlnh2kCpPTuy6Bqk0w==
> -----END CERTIFICATE-----
> EOF
> ATDE$ sudo update-ca-certificates
> Updating certificates in /etc/ssl/certs...
> 1 added, 0 removed; done.
> Running hooks in /etc/ca-certificates/update.d...
> Processing triggers for ca-certificates-java (20230620~deb12u1) ...
> Replacing debian:zscaler_root_ca.pem
> done.
> done.
> 

>
> その操作を行った後に curl で -k オプションを使用せずに接続できるようになったはずですが、いかがでしょうか。
> できなかった場合は中間証明書も登録する必要があるかもしれませんがそれだけで足りると思います。
>
> curl で問題なければ ABOSDE (VS Code) でももう一度試していただければ幸いです。 VS Code をリスタートする必要があるかもしれません。
>
> よろしくお願いします

マルティネ様
お世話になります。
ご教示いただいた手順により、curl https://download.atmark-techno.comはエラーなしで応答されるようになりました。ありがとうございます。しかしながらVS Codeでは依然として同様のエラーが出力されます(VS Codeはリスタートさせています)。

佐藤です。

以下のようにしてVS Codeを起動するとどうでしょうか。

[ATDE]$ export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/zscaler_root_ca.pem
[ATDE]$ code

> 佐藤です。
>
> 以下のようにしてVS Codeを起動するとどうでしょうか。
>

> [ATDE]$ export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/zscaler_root_ca.pem
> [ATDE]$ code
> 

佐藤様
お世話になります。
ご教示いただいたように環境変数を設定してVS Codeを起動しましたが、やはりエラーが表示されてプロジェクトを作成できません。
念のためABOSDEをアンインストール・インストールなどもしてみましたが状況がかわりませんでした。

> 佐藤です。
>
> 外部のサイトになってしまうのですが、
> https://ichiri.biz/tech/vscode-extensions-error-xhr-failed/
> 上記サイトの下部のほうに「その後 Zscalerの解決」という箇所に書いてある手順を
> 実施してみるとどうでしょうか。

佐藤様
この手順を実施してみましたが、依然プロジェクトを作成することができませんでした。
なお、この手順を実施するとVSCodeから通知されるエラーは以下のようになりました。
download error: Error: Failed to download https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/… (省略)
このエラーが2分程度経過したのに表示されます。

佐藤です。

> この手順を実施してみましたが、依然プロジェクトを作成することができませんでした。
> なお、この手順を実施するとVSCodeから通知されるエラーは以下のようになりました。
> download error: Error: Failed to download https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/… (省略)
> このエラーが2分程度経過したのに表示されます。
承知しました。
申し訳ありません、根本的な解決ではないのですが
https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/…
上記ファイルを firefox か curl でダウンロードしていただいて、解凍して使っていただけますでしょうか。
解凍すると "python-app-project" というディレクトリが現れますので、そこに以下の内容のファイルを "info.json"という名前で作成してください。

atmark@atde9:~/python-app-project$ vi info.json
{"arch":"arm64","product":"G4/X2","type":"python","version":0}

その後このディレクトリ内でVS Code を起動してください。

atmark@atde9:~/python-app-project$ code .

これで、pythonアプリの開発ができるかと思います。

> 佐藤です。
>
> > この手順を実施してみましたが、依然プロジェクトを作成することができませんでした。
> > なお、この手順を実施するとVSCodeから通知されるエラーは以下のようになりました。
> > download error: Error: Failed to download https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/… (省略)
> > このエラーが2分程度経過したのに表示されます。
> 承知しました。
> 申し訳ありません、根本的な解決ではないのですが
> https://download.atmark-techno.com/armadillo-iot-g4/example/python-app/…
> 上記ファイルを firefox か curl でダウンロードしていただいて、解凍して使っていただけますでしょうか。
> 解凍すると "python-app-project" というディレクトリが現れますので、そこに以下の内容のファイルを "info.json"という名前で作成してください。
>

> atmark@atde9:~/python-app-project$ vi info.json
> {"arch":"arm64","product":"G4/X2","type":"python","version":0}
> 

> その後このディレクトリ内でVS Code を起動してください。
>

> atmark@atde9:~/python-app-project$ code .
> 

> これで、pythonアプリの開発ができるかと思います。

佐藤様
上記手順でプロジェクトを作成することができました。ありがとうございました!
ただ、pythonプロジェクトは製品マニュアルの「3.1.6. Pythonアプリケーションで動作確認する」の手順を再現したかったためであり、今後は他のプロジェクトを作成して評価する計画です。
他のプロジェクトであっても同様にjsonファイルを作成する上記の手順に従えばよいと考えていますが、その場合、作成する各プロジェクトに応じたjsonファイルの内容を教えていただけないでしょうか。
何度もお手数をおかけしますが、よろしくお願いいたします。

> 他のプロジェクトであっても同様にjsonファイルを作成する上記の手順に従えばよいと考えていますが、その場合、作成する各プロジェクトに応じたjsonファイルの内容を教えていただけないでしょうか。
> 何度もお手数をおかけしますが、よろしくお願いいたします。
はい、ご認識のとおりです。
info.json 内の

{"arch":"arm64","product":"G4/X2","type":"python","version":0}

の "type" の値を変えていただくことで対応できます。
[CREATE NEW PROJECT]の並び順のとおりに書きますと、
Atmark Container New Project -> "type":"container"
C New Project -> "type":"c"
Flutter New Project -> "type":"flutter"
GUI(Dashboard) New Project -> "type":"flutter"
Python New Project -> "type":"python"
Shell New Project -> "type":"shell"
Signage New Project -> "type":"flutter"
Factory Signage New Project -> "type":"flutter"
となります。
お手数をおかけしますがプロジェクトに合わせて上記のとおりに設定していただければと思います。

> > 他のプロジェクトであっても同様にjsonファイルを作成する上記の手順に従えばよいと考えていますが、その場合、作成する各プロジェクトに応じたjsonファイルの内容を教えていただけないでしょうか。
> > 何度もお手数をおかけしますが、よろしくお願いいたします。
> はい、ご認識のとおりです。
> info.json 内の
>

> {"arch":"arm64","product":"G4/X2","type":"python","version":0}
> 

> の "type" の値を変えていただくことで対応できます。
> [CREATE NEW PROJECT]の並び順のとおりに書きますと、
> Atmark Container New Project -> "type":"container"
> C New Project -> "type":"c"
> Flutter New Project -> "type":"flutter"
> GUI(Dashboard) New Project -> "type":"flutter"
> Python New Project -> "type":"python"
> Shell New Project -> "type":"shell"
> Signage New Project -> "type":"flutter"
> Factory Signage New Project -> "type":"flutter"
> となります。
> お手数をおかけしますがプロジェクトに合わせて上記のとおりに設定していただければと思います。

佐藤様
設定のご教示ありがとうございました。
一連の問い合わせに対するご回答、大変ありがとうございました。