[mono-android] Cannot sign app - certificate chain not found

Steven Pack steven_john_pack at yahoo.com.au
Mon Feb 27 11:03:56 UTC 2012


Hi all,

I am following the "Preparing Package for Android Marketplace" page but am getting nowhere with the certificate signing. This is on OSX Lion.

First, I generated my key:

keytool -genkey -v -keystore xxxdict-keystore2.keystore -alias -mackey2 -keyalg RSA -keysize 2048 -validity 10000

Enter keystore password: 
Re-enter new password:
What is your first and last name?
  [Unknown]:  XXX Dictionary Publishers
What is the name of your organizational unit?
  [Unknown]:  XXX Dictionary Publishers
What is the name of your organization?
  [Unknown]:  XXX Dictionary Publishers
What is the name of your City or Locality?
  [Unknown]:  Here
What is the name of your State or Province?
  [Unknown]:  There
What is the two-letter country code for this unit?
  [Unknown]:  AU
Is CN=XXX Dictionary Publishers, OU=XXX Dictionary Publishers, O=XXX Dictionary Publishers, L=Here, ST=There, C=AU correct?
  [no]:  yes

Generating 2,048 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 10,000 days
        for: CN=XXX Dictionary Publishers, OU=XXX Dictionary Publishers, O=XXX Dictionary Publishers, L=Here, ST=There, C=AU
Enter key password for <-mackey2>
        (RETURN if same as keystore password): 
[Storing xxxdict-keystore2.keystore]


That's in the same directory as my .csproj.

My .csproj has the following (password changed)


  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>none</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>false</ConsolePause>
    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
    <AndroidDeployExternal>true</AndroidDeployExternal>
    <AndroidLinkMode>SdkOnly</AndroidLinkMode>
    <DefineConstants xmlns="">COMPLETE</DefineConstants>
    <DefineConstants>LITE</DefineConstants>
    <!-- SIGNING INFO -->
    <AndroidKeyStore>True</AndroidKeyStore>
    <AndroidSigningKeyStore>xxxdict-keystore2.keystore</AndroidSigningKeyStore>
    <AndroidSigningStorePass>password</AndroidSigningStorePass>
    <AndroidSigningKeyAlias>mackey2</AndroidSigningKeyAlias>
    <AndroidSigningKeyPass>password</AndroidSigningKeyPass>
    <!-- SIGNING INFO -->

I then call:

xbuild /property:Configuration=Release /t:SignAndroidPackage

and get:

                Tool /usr/bin/jarsigner execution started with arguments: -keystore xxxdictionary-keystore2.keystore -storepass password -keypass password -digestalg SHA1 -sigalg md5withRSA -signedjar bin/Release/com.xxxdictionary.android.lite-Signed-Unaligned.apk obj/Release/android/bin/com.xxxdictionary.android.lite.apk mackey2 

... followed by...

        /Library/Frameworks/Mono.framework/External/xbuild/Novell/Novell.MonoDroid.Common.targets: error : Tool exited with code: 1. Output: jarsigner: Certificate chain not found for: mackey2.  mackey2 must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

Any ideas?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/monodroid/attachments/20120227/c2283b4a/attachment-0001.html>


More information about the Monodroid mailing list