iTMSTransporter -m upload fail

java.util.concurrent.ExecutionException: java.lang.SecurityException: java.security.cert.CertificateExpiredException: NotAfter: Fri Oct 11 01:37:19 CST 2024 at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) at com.apple.transporter.launcher.Application.start(Application.java:214) at com.apple.transporter.launcher.Application.main(Application.java:766) Caused by: java.lang.SecurityException: java.security.cert.CertificateExpiredException: NotAfter: Fri Oct 11 01:37:19 CST 2024 at com.apple.transporter.launcher.loader.PinnedX509TrustManager.verifyCertificateChain(PinnedX509TrustManager.java:141) at com.apple.transporter.launcher.loader.SignatureVerifier.verifyOrThrow(SignatureVerifier.java:71) at com.apple.transporter.launcher.loader.OSGIBootstrapClassLoader.loadChecksums(OSGIBootstrapClassLoader.java:360) at com.apple.transporter.launcher.loader.OSGIBootstrapClassLoader.<init>(OSGIBootstrapClassLoader.java:210) at com.apple.transporter.launcher.Application.lambda$start$3(Application.java:190) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.security.cert.CertificateExpiredException: NotAfter: Fri Oct 11 01:37:19 CST 2024 at java.base/sun.security.x509.CertificateValidity.valid(CertificateValidity.java:277) at java.base/sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:627) at java.base/sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:600) at com.apple.transporter.launcher.loader.PinnedX509TrustManager.verifyCertificateChain(PinnedX509TrustManager.java:120) ... 9 more

Answered by freedani in 808790022

You can check your iTMSTransporter position is in Transporter.app or download from Apple webview. I've downloaded iTMSTransporter from https://help.apple.com/itc/transporteruserguide/en.lproj/static.html#apdAe41970bd and change my command line from /Applications/Transporter.app/Contents/itms/bin/iTMSTransporter to /usr/local/itms/bin/iTMSTransporter to solve this problem.

Hi, I had a same problem on last friday. I think the Transporter app has some problem. I solved it by following the steps below.

  1. Remove Transporter.app
  2. Install iTMSTransporter - https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa/ra/resources/download/public/Transporter__OSX/bin/
  3. Install the pkg
  4. mkdir -p /Applications/Transporter.app/Contents/itms/bin
  5. ln -s /usr/local/itms/bin/iTMSTransporter /Applications/Transporter.app/Contents/itms/bin/iTMSTransporter

Maybe you need to add a path.

Accepted Answer

You can check your iTMSTransporter position is in Transporter.app or download from Apple webview. I've downloaded iTMSTransporter from https://help.apple.com/itc/transporteruserguide/en.lproj/static.html#apdAe41970bd and change my command line from /Applications/Transporter.app/Contents/itms/bin/iTMSTransporter to /usr/local/itms/bin/iTMSTransporter to solve this problem.

Even I am facing similar issue. Even though timezone is different the cert expiry time matches.

 xcrun iTMSTransporter --version
Running iTMSTransporter at path '/Applications/Transporter.app/Contents/itms/bin/iTMSTransporter'...
java.util.concurrent.ExecutionException: java.lang.SecurityException: java.security.cert.CertificateExpiredException: NotAfter: Thu Oct 10 23:07:19 IST 2024
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
	at com.apple.transporter.launcher.Application.start(Application.java:214)
	at com.apple.transporter.launcher.Application.main(Application.java:766)
Caused by: java.lang.SecurityException: java.security.cert.CertificateExpiredException: NotAfter: Thu Oct 10 23:07:19 IST 2024
	at com.apple.transporter.launcher.loader.PinnedX509TrustManager.verifyCertificateChain(PinnedX509TrustManager.java:141)
	at com.apple.transporter.launcher.loader.SignatureVerifier.verifyOrThrow(SignatureVerifier.java:71)
	at com.apple.transporter.launcher.loader.OSGIBootstrapClassLoader.loadChecksums(OSGIBootstrapClassLoader.java:360)
	at com.apple.transporter.launcher.loader.OSGIBootstrapClassLoader.<init>(OSGIBootstrapClassLoader.java:210)
	at com.apple.transporter.launcher.Application.lambda$start$3(Application.java:190)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.security.cert.CertificateExpiredException: NotAfter: Thu Oct 10 23:07:19 IST 2024
	at java.base/sun.security.x509.CertificateValidity.valid(CertificateValidity.java:277)
	at java.base/sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:627)
	at java.base/sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:600)
	at com.apple.transporter.launcher.loader.PinnedX509TrustManager.verifyCertificateChain(PinnedX509TrustManager.java:120)
	... 9 more

We are experiencing the same issue in the upload_to_testflight fastlane step. This issue is present even when uploading to two different App Store Connect accounts.

In the error log there is the following line which contains the same date for both attempts to upload to the two different App Store Connect accounts.

Caused by: java.security.cert.CertificateExpiredException: NotAfter: Thu Oct 10 19:37:19 CEST 2024

Following the error log as above we get the message:

The call to the iTMSTransporter completed with a non-zero exit status: 1. This indicates a failure. Password contains special characters, which may not be handled properly by iTMSTransporter. If you experience problems uploading to App Store Connect, please consider changing your password to something with only alphanumeric characters. Could not download/upload from App Store Connect! It's probably related to your password or your internet connection.

Does anyone have any ideas what can be causing this?

Seems to be an issue with the app store version. We found an alternative is to use the transporter apps from the installs at https://help.apple.com/itc/transporteruserguide/en.lproj/static.html

Same here

[10:07:26]: [33m[iTMSTransporter] at com.apple.transporter.launcher.loader.SignatureVerifier.verifyOrThrow(SignatureVerifier.java:71) [0m [10:07:26]: [33m[iTMSTransporter] at com.apple.transporter.launcher.loader.OSGIBootstrapClassLoader.loadChecksums(OSGIBootstrapClassLoader.java:360) [0m [10:07:26]: [33m[iTMSTransporter] at com.apple.transporter.launcher.loader.OSGIBootstrapClassLoader.<init>(OSGIBootstrapClassLoader.java:210) [0m [10:07:26]: [33m[iTMSTransporter] at com.apple.transporter.launcher.Application.lambda$start$3(Application.java:190) [0m [10:07:26]: [33m[iTMSTransporter] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [0m [10:07:26]: [33m[iTMSTransporter] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [0m [10:07:26]: [33m[iTMSTransporter] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [0m [10:07:26]: [33m[iTMSTransporter] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [0m [10:07:26]: [33m[iTMSTransporter] at java.base/java.lang.Thread.run(Thread.java:833) [0m [10:07:26]: [33m[iTMSTransporter] Caused by: java.security.cert.CertificateExpiredException: NotAfter: Fri Oct 11 01:37:19 PST 2024

Same here. I can confirm that downloading & using the package from https://help.apple.com/itc/transporteruserguide/en.lproj/static.html#apdAe41970bd works!

I roughly followed the steps above outlined by / above and was able to get my fastlane build to succeed.

Clean-up current build environment:

  1. Remove AppStore version of Transporter (I think this optional)
  2. Download and install the latest pkg file for iTMSTransporter from: https://help.apple.com/itc/transporteruserguide/en.lproj/static.html#apdAe41970bd

As this point you can either update your build configuration, or symlink the java binary into the right location.


Do one of the following...

Update your build-config (this is what I did):

  1. Ensure that the following to environment variables are set in the build environment
export FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT=1;
export FASTLANE_ITUNES_TRANSPORTER_PATH=/usr/local/itms;

To sym-link the installation:

  1. mkdir -p /Applications/Transporter.app/Contents/itms/bin -- may require sudo or switching to root user (e.g. sudo su -)
  2. ln -s /usr/local/itms/bin/iTMSTransporter /Applications/Transporter.app/Contents/itms/bin/iTMSTransporter -- may require sudo or switching to root user (e.g. sudo su -)

After doing one of the above, your build should succeed and you'll have a more simple bootstrap process for your Devs / build-machine that does not rely on mas or equivalent.

I had a same problem. I have now changed the iTMSTransporter command to altool.

Downloading the package from the link that @serbancoroiu posted solved the issue for me.

Can I clarify the cause of the original problem though - does this mean that Apple allowed a certificate in our of their own apps certificate?

Using Transporter app from the provided link initially worked, but we've recently started encountering Transporter issues again.

[13:03:15]: Error message: "An error occurred while trying to call the requested method validateAssets. (1272)" "Return status of iTunes Transporter was 1: An error occurred while trying to call the requested method validateAssets. (1272)"
The call to the iMSTransporter completed with a non-zero exit status: 1. This indicates a failure.

[13:03:15]: Password contains special characters, which may not be handled properly by iMSTransporter. If you experience problems uploading to App Store Connect, please con sider changing your password to something with only alphanumeric characters.

[13:03:15]: Could not download/upload from App Store Connect! It's probably related to your password or your internet connection.

(Source: Step upload_to_testflight in Fastlane)

We’ve confirmed that there were no changes made to the project.

Has anyone else experienced this issue with the Transporter app?

Hi @barisunz, I faced the same error yesterday (Step ).

I'm not sure if the reason of the error is the same, anyway I performed the following step in order to solve the upload problem:

  • uninstalled the Transporter.app (useless in my case)
  • installed the iTMSTransporter from the link mentioned by @JZ4L3SK1
  • updated fastlane version (the idea behind the most recent fastlane version is to search the iTMSTransporter bin in the /usr/local/itms folder, unless you hard coded the itms path in the FASTLANE_ITUNES_TRANSPORTER_PATH ENV var)
  • removed old ENV config hard coded in the fastlane script that was forcing fastlane to use the iTMSTransporter version bundled with Transport.app (that is older)

After that, fastlane script was able to run the newest iTMSTransporter version and it was not necessary to switch to altool. Let me know if it can be helpful.

iTMSTransporter -m upload fail
 
 
Q