1. Help us improve the editor usability and artist workflows. Join our discussion to provide your feedback.
    Dismiss Notice
  2. We're looking for feedback on Unity Starter Kits! Let us know what you’d like.
    Dismiss Notice
  3. We’re giving 2017.1 beta testers a chance to win t-shirts and a Nintendo Switch. Read more on the blog.
    Dismiss Notice
  4. We want to know how you learned Unity! Help us by taking this quick survey and have a chance at a $25 gift card
    Dismiss Notice
  5. Unity 5.6 is now released.
    Dismiss Notice
  6. Check out all the fixes for 5.6 on the patch releases page.
    Dismiss Notice

Android Keystore Does Not Work in UCB

Discussion in 'Unity Cloud Build' started by esg-joshmorhart, Mar 16, 2017.

  1. esg-joshmorhart

    esg-joshmorhart

    Joined:
    Oct 10, 2016
    Posts:
    8
    I'm trying to set my signing credentials in UCB and I'm receiving the error:

    "Failed to update credentials! Keystore failed validation (invalid password or alias)."

    However, I am able to use the same release credentials to perform a successful local build. I am also able to use a different debug keystore to successfully build on UCB. The only difference between the 2 is that the debug credentials are in a .keystore file whereas the release credentials are in a .jks file. Are .jks files not supported on UCB?
     
  2. esg-joshmorhart

    esg-joshmorhart

    Joined:
    Oct 10, 2016
    Posts:
    8
    Any progress on this issue yet?
     
  3. dannyd

    dannyd

    Unity Technologies

    Joined:
    Jun 3, 2014
    Posts:
    573
    Keystores are generally JKS format anyway - the file extension shouldn't matter. We verify the keystore using keytool when it's uploaded so I would double check that you can list the entries in the keystore using keytool like (and that the alias listed there matches what you are providing during upload):

    Code (CSharp):
    1. keytool -list -v -keystore YOUR_KEYSTORE_PATH
    You should get some output like:

    Code (CSharp):
    1. Keystore type: JKS
    2. Keystore provider: SUN
    3.  
    4. Your keystore contains 1 entry
    5.  
    6. Alias name: test
    7. Creation date: Jul 22, 2014
    8. Entry type: PrivateKeyEntry
    9. Certificate chain length: 1
    10. Certificate[1]:
    11. Owner: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    12. Issuer: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
    13. Serial number: 53ce9c40
    14. Valid from: Tue Jul 22 12:15:44 CDT 2014 until: Sat Dec 07 11:15:44 CST 2041
    15. Certificate fingerprints:
    16.      MD5:  <removed>
    17.      SHA1: <removed>
    18.      SHA256: <removed>
    19.      Signature algorithm name: SHA1withRSA
    20.      Version: 3
    21.  
    22.  
    23. *******************************************
    24. *******************************************
     
  4. esg-joshmorhart

    esg-joshmorhart

    Joined:
    Oct 10, 2016
    Posts:
    8
    Here are the results of running that command on my keystore file. I'm only showing the relevant entry. Like I said before, I can use this same keystore to successfully build from my local machine using the same alias and passwords.

    Code (CSharp):
    1. Keystore type: JKS
    2. Keystore provider: SUN
    3.  
    4. Your keystore contains 3 entries
    5.  
    6. Alias name: tpb
    7. Creation date: Mar 15, 2017
    8. Entry type: PrivateKeyEntry
    9. Certificate chain length: 1
    10. Certificate[1]:
    11. Owner: CN=, OU=, O=, C=
    12. Issuer: CN=, OU=, O=, C=
    13. Serial number: <removed>
    14. Valid from: Sun Jul 07 13:57:43 PDT 2013 until: Thu Jul 08 13:57:43 PDT 2038
    15. Certificate fingerprints:
    16.          MD5:  <removed>
    17.          SHA1: <removed>
    18.          SHA256: <removed>
    19.          Signature algorithm name: SHA1withRSA
    20.          Version: 3
     
  5. dannyd

    dannyd

    Unity Technologies

    Joined:
    Jun 3, 2014
    Posts:
    573
    Ya seems pretty normal. Send me a PM and we'll figure out what's up there.