別の記事 で書いた通り、App Store Connect の輸出コンプライアンス書類がようやく承認されました。
さらに別の記事 で書いた通り、免除対象の暗号なので ‘App Uses Non-Exempt Encryption’ を「ITSAppUsesNonExemptEncryption=NO」と指定してアプリ更新できたのですが、せっかく承認されて Xcode に入力するキーを入手できたので、この設定をやることにしました。
輸出コンプライアンス書類が承認されるとどうなるのか
App Store Connect の「サービス > 暗号化」の画面で、以下のように「ステータス」が「承認済み」となり、「キー値」に Xcode で指定すべき文字列(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
形式の UUID のフォーマット)が表示されるようになります。
「詳細を表示」をクリックすると以下のように登録時に記入したAppの目的と共に詳細情報が表示されます。
‘App Uses Non-Exempt Encryption’ を ‘YES’ に設定
輸出コンプライアンス書類の承認を待っていられなくてアプリ更新 したときは「非免除暗号」を使っていないことを示すキーを ‘NO’ で指定していましたが、これを ‘YES’ に変更します。
参考ドキュメント:
もし項目をまだ追加していない場合は、Xcodeで「Info > Custom iOS Target Properties」の箇所で「(+)」ボタンを押して、「App Uses Non-Exempt Encryption」を追加し、「YES」をセットします。
Info.plist に 以下のような内容が追加されるはずです。
<key>ITSAppUsesNonExemptEncryption</key>
<true/>
‘App Encryption Export Compliance Code’ の文字列を追加
同様に、Xcodeで「Info > Custom iOS Target Properties」の箇所で「(+)」ボタンを押して、「App Encryption Export Compliance Code」を追加し、「輸出コンプライアンス書類」のページで表示される「キー値」の文字列をセットします。
Info.plist に以下のような内容が追加されます。
<key>ITSEncryptionExportComplianceCode</key>
<string>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</string>
ビルド提出
あとは普通にビルド提出するだけです。
暗号化についての質問も出てきません。
免除対象の暗号なのに設定をやる意味があるか?
「非免除暗号」と思って Classification Request を提出したのに結局免除対象の暗号だったので、’App Encryption Export Compliance Code’ の設定は本来は不要ではあります。
しかし、輸出コンプライアンス書類を提出してけば「年度末自己分類報告」が不要になるので、メリットはあると思います。
これについては以下に記載されています。
Important
If your app uses exempt forms of encryption, you might alternatively be required to submit a year-end self-classification report to the U.S. government. (If you use non-exempt encryption and provide documentation to Apple, the self-classification report isn’t necessary.) To learn more, see How to file an Annual Self Classification Report.
https://developer.apple.com/documentation/security/complying_with_encryption_export_regulations?language=objc
BIS本家でも以下のように記載されています。
An annual self-classification report is a requirement for items exported under License Exception ENC – 740.17(b)(1), UNLESS a Commodity Classification (CCATS) has been submitted for the item.
https://www.bis.doc.gov/index.php/policy-guidance/encryption/4-reports-and-reviews/a-annual-self-classification
まとめ
輸出コンプライアンス書類を提出して入手したキー値を Xcode で設定する手順についてまとめました。
2022年11月中旬に輸出コンプライアンスの対応が必要になり、「SNAP-R アカウント作成 → Classification Request 作成 → CCATSレスポンス入手 → Appleに書類提出 → Appleによる承認」と長い手続きを進めてきましたが、手続き開始してから完了まで結局1ヶ月以上かかりました。
このあたりの手順がまとめられた記事などほとのどなかったので、手探りで少し不安になりながら進めてきましたが、無事に完了させることができてホッとしています。
参考になれば幸いです。
コメント