What Can I Do When My App Is Rejected Due to Inconsistent App Signatures? [closed] - huawei-mobile-services

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 1 year ago.
Improve this question
I have integrated the HMS Core SDK for a game, and recently, and submitted a game update for review in AppGallery, but it is rejected because the app signature differs from that of my released game. Does anybody know the reason?

1.Check whether the current app version is the same as the previous version.
View the fingerprint certificate in the project.
a. Open the CLI and run the keytool -list –v –keystore [file path] command.
b. Enter the keystore password.
c. View the current signing certificate fingerprint.
View the APK signature.
a. Run keytool -printcert -jarfile xxx.apk (APK file path).
b. The following information is displayed.
c. You can view the SHA-256 certificate fingerprint of the current APK. Check whether this value of the two app versions is consistent.
Then check whether the two fingerprints are consistent with that in your project.
If the certificate fingerprints are inconsistent, this can be caused by two different reasons. The first one is that the two APKs have been packaged using different signature files. If they are inconsistent, you should first check whether the .jks or keystore files used for app signing in the project are consistent. Or, you can check whether you have used keystore files from different environments or platforms.
Example:
The .jks or keystore files used for the debug and release environments are different. You need to ensure that each .jks or keystore file matches the environment. For example, you cannot configure the .jks or keystore file in debug to the release environment.
If the .jks or keystore files are consistent, you need to check whether an automatic process has been used for packaging and signing. If so, check whether DEX file encryption has been used, which can lead to inconsistent signatures.

Related

Flutter What is keystore file in apk build?

I tried to build new apk file of my app, but got error
What went wrong:
Execution failed for task ':app:validateSigningRelease'.
Keystore file not set for signing config release
previous version of my app that don't have purchases was build correctly but right now it's dosen't.
I found a lot informations how to set KeyStore file but nothing about what is it.
May you explain what is it
Basically Keystore is used to store private key and identity certificates that a specific program should present to both parties (server or client) for verification.
The Android Keystore system lets you store cryptographic keys in a container to make it more difficult to extract from the device. Once keys are in the keystore, they can be used for cryptographic operations with the key material remaining non-exportable. Moreover, it offers facilities to restrict when and how keys can be used, such as requiring user authentication for key use or restricting keys to be used only in certain cryptographic modes. See Security Features section for more information.
The Keystore system is used by the KeyChain API, introduced in Android 4.0 (API level 14); the Android Keystore provider feature, introduced in Android 4.3 (API level 18); and the Security library, available as part of Jetpack. This document goes over when and how to use the Android Keystore provider.
For details information please refer to this -
https://developer.android.com/training/articles/keystore

Huawei sign in failed with status code 28

Even though I used last sdk, Huawei sign failed with status code 28. What causes this error?
Error 6003 indicates that this fault is caused by an incorrect signing certificate fingerprint.
You could:
Ensure that the app’s certificate signature is the same as that configured in AppGallery Connect.
.Open the APK file of the app, extract the META-INF directory from the
file, obtain the CERT.RSA file in the directory, and run the keytool
-printcert -file META-INF/CERT.RSA command to display the signature certificate information.
.Check the SHA-256 certificate fingerprint configured in AppGallery
Connect by referring to Configuring the Signing Certificate
Fingerprint. If the information is the same as the preceding
information displayed, the certificate fingerprint is correct.
2.Ensure that the appid parameter in the manifest file is correct.
You can perform the check in either of the following ways: View the
parameter directly in the manifest file under the project. Decompile
the packaged APK file, and view the parameter. You can use any
decompliation tool for that.
Check whether the app is hardened or re-signed.
Check whether HUAWEI App Signing is enabled. According to the official document, if the service is enabled, the generated certificate fingerprint must be added in AppGallery Connect.
About Error Code 6003, you are advised to check whether the appid is the same as the appid on AppGalleryConnect.
Ensure that the certificate fingerprint has been configured, and the certificate for packing the signature on the local client is the same as the certificate for configuring the fingerprint in AppGallery Connect. And the JSON file is stored in the project-level directory instead of the application-level directory, check the following items configuration process carefully.
1.Check whether the fingerprint certificate is correctly configured when you apply for related services. Open the APK file of an app, extract the META-INF directory from the file, obtain the CERT.RSA file in the directory, and run the keytool -printcert -file META-INF/CERT.RSA command to print the signature certificate information.
2.HMS Core (APK) will cache the signature file. You need to find HMS Core (APK) on the Apps page of your device and clear its cache, restart your app, and perform the previous operation again.
3.Sign in to AppGallery Connect, click My apps. On the page that is displayed, go to Develop > Project settings > conventional, check whether SHA-256 certificate fingerprint is consistent with the fingerprint in step 1.

I can't figure out any other possible reason. can you help me?

When I integrate the HMS Core SDK into my app or game, result code 6003 is
always returned during an API call. The official document indicates that this fault is caused by an incorrect signing certificate fingerprint. But I have checked that the app's certificate signature is the same as that configured in AppGallery Connect.
Official document
Step 1: Ensure that the app's certificate signature is the same as that configured in AppGallery Connect.
Open the APK file of the app, extract the META-INF directory from the file, obtain the CERT.RSA file in the directory, and run the keytool -printcert -file META-INF/CERT.RSA command to display the signature certificate information.
Check the SHA-256 certificate fingerprint configured in AppGallery Connect by referring to Configuring the Signing Certificate Fingerprint. If the information is the same as the preceding information displayed, the certificate fingerprint is correct.
Step 2: Ensure that the appid parameter in the manifest file is correct.
You can perform the check in either of the following ways:
• View the parameter directly in the manifest file under the project.
• Decompile the packaged APK file, and view the parameter. You can use any decompliation tool for that.
Step 3: Check whether the app is hardened or re-signed.
Since AppGallery Connect does not re-sign an app currently, you need to locate the fault if your app has been hardened or re-signed by yourself.
Step 4: Check whether HUAWEI App Signing is enabled.
Huawei provides the App Signing service for developers to let Huawei host their app's signature key and use it for the APK file to be distributed.
According to the official document, if the service is enabled, the generated certificate fingerprint must be added in AppGallery Connect.

Debuging on real device (iPad)

A have a iOS-project that I send to my iPad. But when I'm trying to run&debug it on the device, I take error
"The executable was signed with invalid entitlements.
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile."
In my Entitlements.plist key "Can be Debugged" in state 'YES'. When I change it to 'NO' - I can send application to iPad, but I take error
Error Starting Executable '$APPLICATION_NAME'
Error launching remote program: failed to get the task for process $PROCESS_NUMBER.
How can I resolve this problem?
P.S. I read similar question, but answers don't help me … (In most of question answer say to create Entitlements.plist file)
P.P.S. XCode 4.0, iOS 4.3
UPD: Problem was solved.I created new provision file in certificate-development tab, revoke previous certificate and request one new. As result I have taken new certificate in what is written all provision files and two provision files - one for distribution and one for development.
Problem was solved.
I created new provision file in certificate-development tab, revoke previous certificate and request one new. As result I have taken new certificate in what is written all provision files and two provision files - one for distribution and one for development.

Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in iPhone. But when I try to do so I get an error "Codesign error:Code signing is required for product type "Application" in SDK Device iPhone OS 3.1.2. Please some one help me.
Regards,
krishnan.
Have you transferred your credentials to the second Mac? They are stored in your keychain.
You may need to read up on how Code-signing works: http://en.wikipedia.org/wiki/Code_signing
Here's an overview:
Developer creates a Certificate via a Certificate Authority (CA)
This certificate is used to 'sign' the binary, providing 'proof' of who created it
Developer then uses the Certificate to sign the binary (this is the step you're missing on the second MAC)
This is handled via xcode, assuming you've followed the detailed steps on http://developer.apple.com/iphone
Clients using the binary can now verify the Certificate against a known CA to ensure the integrity of the build.
Also check that you are code signing on the target as well when you do the Archive build
Spent hours to figure this out. Actually you need to click on Project --> Build Settings --> click target --> code sign..
THIS IS not apparent