Android certificate expired with debug.keystore

Update: I have installed java sdk and Corona on a  new PC, same issue as my Mac??? All my certificates are expired if I create a new one or use a debug.keystore. This was never an issue, I have even tried  making a new app from the game templates, build for Android

jarsigner -verify -verbose -certs myApp.apk error:The Jar contains entries whose signer certificate has expired.

 whats going on I wonder?

Please help, I have published  Android Apps for debug and playStore until recently I am having app signing issues. So I have gone back to basics, compiled the for Android using the lastest debug keystone in the corona folder. It say my keystore has expired, it has not.

I build the App using the androiddebugkey alias, when I verify…

jarsigner -verify -verbose -certs myApp.apk

 

error

      [certificate expired on 1/17/11 10:53 AM]

 

 

  s = signature was verified 

  m = entry is listed in manifest

  k = at least one certificate was found in keystore

  i = at least one certificate was found in identity scope

I have generated new keystores, same error

I am using java version “1.6.0_65”

Can you post a screen shot of your corona SDK build screen?

Hi

Here is a screen shot of the test project I created today with same errror when I verify…

9353063_orig.png

9949282_orig.png

My understanding is that the debug keystore does have an expired date, but that shouldn’t matter.  When you build with the debug keystore, you should be able to still side-load your apps on your device using:

adb install

You need to build with your real keystore before you deploy.  What error are you getting?

Rob

OK made some progress,

Using adb install and the debug keystore (all three the same)

1,  test app – Success

2,  MyFirstApp (another APK previously published on google play) --success

3, NewApp – Failure [Install_Parse_Failed_No_Certificates]

So this must point to something in the App itself?

My Build.Settings:

settings =
{
  plugins = {
 
  --[[remove this line to implement google game services
    [“CoronaProvider.gameNetwork.google”] =
     {
        publisherId = “com.coronalabs”,
        supportedPlatforms = { android = true },
     },
    ]] --remove this line to implement google game services
    
   
    [“CoronaProvider.ads.admob”] =
     {
       publisherId = “com.coronalabs”,
      },
    
    
  --[[remove this line to implement TapForTap
    [“plugin.tapfortap”] =
    {
            – required
       publisherId = “com.tapfortap”,
    },
    ]] --remove this line to implement TapForTap
 
      --[[remove this line to implement iAds
    [“CoronaProvider.ads.iads”] =
    {
       – required
       publisherId = “com.coronalabs”,
    },
    ]] --remove this line to implement iAds
 
    [“facebook”] =
    {
        – required
        publisherId = “com.coronalabs”,
        supportedPlatforms = { iphone = true },
    },
 
      
 
    [“facebook”] =
    {
        – required
        publisherId = “com.coronalabs”,
        supportedPlatforms = { iphone = true },
    },
 
  },
    orientation = {
    default = “landscapeRight”,
    supported = { “landscapeRight”, }
  },
    android =
    {
    googlePlayGamesAppId = “XXXXXXXX”,  --insert your app id number for google game services
        usesPermissions =
        {
      “com.android.vending.BILLING”, --remove this line if you don’t use iAP
            “android.permission.INTERNET”,
      “android.permission.ACCESS_NETWORK_STATE”,
     
      “android.permission.READ_PHONE_STATE”
      
        },
    },
    iphone =
    {
        plist =
        {
            CFBundleIconFile = “Icon.png”,
            CFBundleIconFiles =
            {
                “Icon.png”,
                “Icon@2x.png”,
                “Icon-60.png”,
                “Icon-60@2x.png”,
                “Icon-72.png”,
                “Icon-72@2x.png”,
                “Icon-76.png”,
                “Icon-76@2x.png”,
                “Icon-Small.png”,
                “Icon-Small@2x.png”,
                “Icon-Small-40.png”,
                “Icon-Small-40@2x.png”,
                “Icon-Small-50.png”,
                “Icon-Small-50@2x.png”,
            },
            UIApplicationExitsOnSuspend = false,    – must be false for single sign-on to work
            FacebookAppID = “1234”,    – replace XXXXXXXXX with your facebook appId

            CFBundleURLTypes =
            {
                {
                    CFBundleURLSchemes =
                    {
                        “fb1234”,    – replace XXXXXXXXX with your facebook appId, make sure that you leave fb in front of it                
                    }
                }
            }
        }
    }
}
 

I don’t know if this is causing the problem or not (doubt it), but you do realise that you specify the facebook plugin twice in the build.settings file you pasted above, right?

It’s possible that your project could have a file or folder in it that’s breaking things.  For instance, if you’re on a Mac and you color your folder icon, or add an image to it, you get a file called Icon~23 (the ~23 meaning non-ASCII characters) and this will generate a failure to sign the app.  Having a “res” folder will cause this as well.  Can you perhaps post a directory listing of the folder with your main.lua in it?

Rob

Thanks Rob, that was exactly the case. I had a folder that was not required that was new to this project, it did not upset the IOS build, but removing fixed the cert error on Android. :slight_smile:

I’m glad that was it.  Certificate problems are the most frustrating to solve because there is no code to post to look at.  All we can do is guess at what’s going on.

I’m working on an app right now and I’ve spent the last half hour getting cert failures too.  I had two issues tonight.  First, I had switched to the debug keystore and when I switched back to the real keystore and it didn’t ask for my password.  I had to do it again and finally got it to prompt me for my password.   Then the version on my Nexus 7 was with the debug keystore and I was trying to write over it with adb install -r  and it wouldn’t have anything to do with that, so I had to remove the debug version to put the production version on.

Rob

As a matter of interest, what was the name of the folder that caused the problem?

It was folder called “_Font Pack 1” from text candy x-pressive demos, (great prodcut) More likely one of the files inside.

Thanks for awesome support Corona.

Can you provide a list of the files in that folder?

Rob

A lot files, so I looked through for anything odd and non ascii, see below…

é.png

ô.png

ö.png

I’m not so interested in non-ASCII.  Can you just do a directory listing and post them all?
 

Rob

Here is the listing

D:\1_Font Pack I\
.DS_Store
Big\
Small\
 
D:\1_Font Pack I\Big\
Glossy\
Smoky Glass\
Overview.png
 
D:\1_Font Pack I\Big\Glossy\
_Char Images (For Your Use)\
Big\
 
D:\1_Font Pack I\Big\Glossy_Char Images (For Your Use)\
Big\
 
D:\1_Font Pack I\Big\Glossy_Char Images (For Your Use)\Big\
0.png
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
A.png
apostroph.png
asterisk.png
at.png
B.png
bracket_left.png
bracket_right.png
C.png
colon.png
comma.png
D.png
dollar.png
dot.png
E.png
exclam.png
F.png
G.png
H.png
I.png
J.png
K.png
L.png
M.png
minus.png
N.png
O.png
P.png
percent.png
plus.png
Q.png
question.png
R.png
S.png
semicolon.png
sharp.png
slash.png
T.png
U.png
underscore.png
V.png
W.png
X.png
Y.png
Z.png
é.png
ô.png
ö.png
 
D:\1_Font Pack I\Big\Glossy\Big\
_Char offsets for this font.lua
Glossy_Big.lua
Glossy_Big.png
Glossy_Big_Copper.lua
Glossy_Big_Copper.png
Glossy_Big_Gold.lua
Glossy_Big_Gold.png
Glossy_Big_Silver.lua
Glossy_Big_Silver.png
 
D:\1_Font Pack I\Big\Smoky Glass\
_Char Images (For Your Use)\
Big\
Medium\
 
D:\1_Font Pack I\Big\Smoky Glass_Char Images (For Your Use)\
Big\
Medium\
 
D:\1_Font Pack I\Big\Smoky Glass_Char Images (For Your Use)\Big\
0.png
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
A.png
apostroph.png
asterisk.png
at.png
B.png
bracket_left.png
bracket_right.png
C.png
colon.png
comma.png
D.png
dollar.png
dot.png
E.png
exclam.png
F.png
G.png
H.png
I.png
J.png
K.png
L.png
M.png
minus.png
N.png
O.png
P.png
percent.png
plus.png
Q.png
question.png
R.png
S.png
semicolon.png
sharp.png
slash.png
T.png
U.png
underscore.png
V.png
W.png
X.png
Y.png
Z.png
é.png
ô.png
ö.png
 
D:\1_Font Pack I\Big\Smoky Glass_Char Images (For Your Use)\Medium\
0.png
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
A.png
apostroph.png
asterisk.png
at.png
B.png
bracket_left.png
bracket_right.png
C.png
colon.png
comma.png
D.png
dollar.png
dot.png
E.png
exclam.png
F.png
G.png
H.png
I.png
J.png
K.png
L.png
M.png
minus.png
N.png
O.png
P.png
percent.png
plus.png
Q.png
question.png
R.png
S.png
semicolon.png
sharp.png
slash.png
T.png
U.png
underscore.png
V.png
W.png
X.png
Y.png
Z.png
é.png
ô.png
ö.png
 
D:\1_Font Pack I\Big\Smoky Glass\Big\
_Char offsets for this font.lua
SmokyGlass_Big_Blue.lua
SmokyGlass_Big_Blue.png
SmokyGlass_Big_Chrome.lua
SmokyGlass_Big_Chrome.png
SmokyGlass_Big_Copper.lua
SmokyGlass_Big_Copper.png
SmokyGlass_Big_Gold.lua
SmokyGlass_Big_Gold.png
SmokyGlass_Big_Green.lua
SmokyGlass_Big_Green.png
SmokyGlass_Big_Grey.lua
SmokyGlass_Big_Grey.png
SmokyGlass_Big_Pink.lua
SmokyGlass_Big_Pink.png
SmokyGlass_Big_Purple.lua
SmokyGlass_Big_Purple.png
SmokyGlass_Big_Red.lua
SmokyGlass_Big_Red.png
 
D:\1_Font Pack I\Big\Smoky Glass\Medium\
_Char offsets for this font.lua
SmokyGlass_Medium_Blue.lua
SmokyGlass_Medium_Blue.png
SmokyGlass_Medium_Chrome.lua
SmokyGlass_Medium_Chrome.png
SmokyGlass_Medium_Copper.lua
SmokyGlass_Medium_Copper.png
SmokyGlass_Medium_Gold.lua
SmokyGlass_Medium_Gold.png
SmokyGlass_Medium_Green.lua
SmokyGlass_Medium_Green.png
SmokyGlass_Medium_Grey.lua
SmokyGlass_Medium_Grey.png
SmokyGlass_Medium_Pink.lua
SmokyGlass_Medium_Pink.png
SmokyGlass_Medium_Purple.lua
SmokyGlass_Medium_Purple.png
SmokyGlass_Medium_Red.lua
SmokyGlass_Medium_Red.png
 
D:\1_Font Pack I\Small\
Small 1\
Small 2\
Small 3\
Small 4\
 
D:\1_Font Pack I\Small\Small 1\
_Char Images (For Your Use)\
_Char offsets for this font.lua
Small1_Blue.lua
Small1_Blue.png
Small1_Green.lua
Small1_Green.png
Small1_Grey.lua
Small1_Grey.png
Small1_Pink.lua
Small1_Pink.png
Small1_Purple.lua
Small1_Purple.png
Small1_Red.lua
Small1_Red.png
 
D:\1_Font Pack I\Small\Small 1_Char Images (For Your Use)\
0.png
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
A.png
apostroph.png
asterisk.png
at.png
B.png
bracket_left.png
bracket_right.png
C.png
colon.png
comma.png
D.png
dollar.png
dot.png
E.png
exclam.png
F.png
G.png
H.png
I.png
J.png
K.png
L.png
M.png
minus.png
N.png
O.png
P.png
percent.png
plus.png
Q.png
question.png
R.png
S.png
semicolon.png
sharp.png
slash.png
T.png
U.png
underscore.png
V.png
W.png
X.png
Y.png
Z.png
é.png
ô.png
ö.png
 
D:\1_Font Pack I\Small\Small 2\
_Char Images (For Your Use)\
_Char offsets for this font.lua
Small2_Blue.lua
Small2_Blue.png
Small2_Green.lua
Small2_Green.png
Small2_Grey.lua
Small2_Grey.png
Small2_Orange.lua
Small2_Orange.png
Small2_Pink.lua
Small2_Pink.png
Small2_Purple.lua
Small2_Purple.png
Small2_Red.lua
Small2_Red.png
Small2_Yellow.lua
Small2_Yellow.png
 
D:\1_Font Pack I\Small\Small 2_Char Images (For Your Use)\
0.png
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
A.png
apostroph.png
asterisk.png
at.png
B.png
bracket_left.png
bracket_right.png
C.png
colon.png
comma.png
D.png
dollar.png
dot.png
E.png
exclam.png
F.png
G.png
H.png
I.png
J.png
K.png
L.png
M.png
minus.png
N.png
O.png
P.png
percent.png
plus.png
Q.png
question.png
R.png
S.png
semicolon.png
sharp.png
slash.png
T.png
U.png
underscore.png
V.png
W.png
X.png
Y.png
Z.png
é.png
ô.png
ö.png
 
D:\1_Font Pack I\Small\Small 3\
_Char Images (For Your Use)\
Small3_Blue.lua
Small3_Blue.png
Small3_Green.lua
Small3_Green.png
Small3_Orange.lua
Small3_Orange.png
Small3_Pink.lua
Small3_Pink.png
Small3_Purple.lua
Small3_Purple.png
Small3_Red.lua
Small3_Red.png
Small3_White.lua
Small3_White.png
Small3_Yellow.lua
Small3_Yellow.png
 
D:\1_Font Pack I\Small\Small 3_Char Images (For Your Use)\
0.png
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
A.png
apostroph.png
asterisk.png
at.png
B.png
bracket_left.png
bracket_right.png
C.png
colon.png
comma.png
D.png
dollar.png
dot.png
E.png
exclam.png
F.png
G.png
H.png
I.png
J.png
K.png
L.png
M.png
minus.png
N.png
O.png
P.png
percent.png
plus.png
Q.png
question.png
R.png
S.png
semicolon.png
sharp.png
slash.png
T.png
U.png
underscore.png
V.png
W.png
X.png
Y.png
Z.png
é.png
ô.png
ö.png
 
D:\1_Font Pack I\Small\Small 4\
_Char Images (For Your Use)\
Small4_Copper.lua
Small4_Copper.png
Small4_Gold.lua
Small4_Gold.png
Small4_Grey.lua
Small4_Grey.png
Small4_Silver.lua
Small4_Silver.png
 
D:\1_Font Pack I\Small\Small 4_Char Images (For Your Use)\
0.png
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
A.png
apostroph.png
asterisk.png
at.png
B.png
bracket_left.png
bracket_right.png
C.png
colon.png
comma.png
D.png
dollar.png
dot.png
E.png
exclam.png
F.png
G.png
H.png
I.png
J.png
K.png
L.png
M.png
minus.png
N.png
O.png
P.png
percent.png
plus.png
Q.png
question.png
R.png
S.png
semicolon.png
sharp.png
slash.png
T.png
U.png
underscore.png
V.png
W.png
X.png
Y.png
Z.png
é.png
ô.png
ö.png
 

Thanks.  Perhaps engineering can spot a file name there causing problems.

Rob

Can you post a screen shot of your corona SDK build screen?

Hi

Here is a screen shot of the test project I created today with same errror when I verify…

9353063_orig.png

9949282_orig.png

My understanding is that the debug keystore does have an expired date, but that shouldn’t matter.  When you build with the debug keystore, you should be able to still side-load your apps on your device using:

adb install

You need to build with your real keystore before you deploy.  What error are you getting?

Rob

OK made some progress,

Using adb install and the debug keystore (all three the same)

1,  test app – Success

2,  MyFirstApp (another APK previously published on google play) --success

3, NewApp – Failure [Install_Parse_Failed_No_Certificates]

So this must point to something in the App itself?

My Build.Settings:

settings =
{
  plugins = {
 
  --[[remove this line to implement google game services
    [“CoronaProvider.gameNetwork.google”] =
     {
        publisherId = “com.coronalabs”,
        supportedPlatforms = { android = true },
     },
    ]] --remove this line to implement google game services
    
   
    [“CoronaProvider.ads.admob”] =
     {
       publisherId = “com.coronalabs”,
      },
    
    
  --[[remove this line to implement TapForTap
    [“plugin.tapfortap”] =
    {
            – required
       publisherId = “com.tapfortap”,
    },
    ]] --remove this line to implement TapForTap
 
      --[[remove this line to implement iAds
    [“CoronaProvider.ads.iads”] =
    {
       – required
       publisherId = “com.coronalabs”,
    },
    ]] --remove this line to implement iAds
 
    [“facebook”] =
    {
        – required
        publisherId = “com.coronalabs”,
        supportedPlatforms = { iphone = true },
    },
 
      
 
    [“facebook”] =
    {
        – required
        publisherId = “com.coronalabs”,
        supportedPlatforms = { iphone = true },
    },
 
  },
    orientation = {
    default = “landscapeRight”,
    supported = { “landscapeRight”, }
  },
    android =
    {
    googlePlayGamesAppId = “XXXXXXXX”,  --insert your app id number for google game services
        usesPermissions =
        {
      “com.android.vending.BILLING”, --remove this line if you don’t use iAP
            “android.permission.INTERNET”,
      “android.permission.ACCESS_NETWORK_STATE”,
     
      “android.permission.READ_PHONE_STATE”
      
        },
    },
    iphone =
    {
        plist =
        {
            CFBundleIconFile = “Icon.png”,
            CFBundleIconFiles =
            {
                “Icon.png”,
                “Icon@2x.png”,
                “Icon-60.png”,
                “Icon-60@2x.png”,
                “Icon-72.png”,
                “Icon-72@2x.png”,
                “Icon-76.png”,
                “Icon-76@2x.png”,
                “Icon-Small.png”,
                “Icon-Small@2x.png”,
                “Icon-Small-40.png”,
                “Icon-Small-40@2x.png”,
                “Icon-Small-50.png”,
                “Icon-Small-50@2x.png”,
            },
            UIApplicationExitsOnSuspend = false,    – must be false for single sign-on to work
            FacebookAppID = “1234”,    – replace XXXXXXXXX with your facebook appId

            CFBundleURLTypes =
            {
                {
                    CFBundleURLSchemes =
                    {
                        “fb1234”,    – replace XXXXXXXXX with your facebook appId, make sure that you leave fb in front of it                
                    }
                }
            }
        }
    }
}