iTunes ConnectにアップロードするとInvalid Signatureとなる
Adobe AIR 21 SDKで開発したアプリをアップロードしたところ、Invalid Signatureが返ってきました。
既知の問題?
リリースノート | Flash Player® 21、AIR® 21
https://helpx.adobe.com/jp/flash-player/release-note/fp_21_air_21_release_notes.html
[iOS][Win] Windows コンピューター上でパッケージされた IPA を Apple App Store に提出できない。iTunes Connect で「このビルドは無効です」というエラーが発生する。
リリースノートの既知の問題にそれっぽい記載を見つけました。とりあえず原因をこれだと仮定して、Windowsを使わずにMac OS X上でIPAファイルにパッケージングしてみることにします。
パッケージ化に失敗する
Mac OS X上で、AIR SDKのADTコマンドを使用してIPA形式にパッケージ化を試みますが、
Error: Signing failed
というエラーが出て失敗しました。
AppleのDeveloperサイトに行って、有効な証明書とプロビジョニングファイルをダウンロードして使用しても同様に失敗しました。
原因:指定している証明書が無効
Signing failedエラーの原因としては、ADTコマンドに指定している証明書が「無効」と判断されているためのようです。
指定するP12形式の証明書ファイルをダブルクリックしてキーチェーンに登録し、「この証明書は有効です」という表示になるとエラーが発生しなくなりました。また、iTunes Connectへのアップロードも問題ありませんでした。

いろいろと試していたので定かではないですが、Appleの新しいWWDR証明書を入れないと有効にならないかもしれません。
おまけ:versionLabel警告
ADTコマンドでのIPAファイルへのパッケージ化で次の警告が出ました。
Warning: Invalid format specified in <versionLabel> tag. Ignoring its value.
app.xmlのversionLabelに「1.2.3.4」などと書いていると出ます。「1.2.3」のような形式にすると警告が出なくなりました。
Adobeの仕様ではversionNumberは「3 個以下の連結した整数をピリオドで区切っ」たバージョン番号で、versionLabelの方は特に制限なく文字列でバージョンを表現できます。
※AIR 18 SDKからはversionLabelの値は CFBundleShortVersionStringに、versionNumberの値は CFBundleVersionにマップされるようになっています。
Appleの仕様を確認すると、CFBundleShortVersionStringのバージョン番号はピリオド区切りの3つの数字だとあります。
ということで、versionLabelにはApple様の言う通りのバージョン番号(ピリオド区切りの3つの数字)を記入しましょう。