keytool :在我的生产密钥库中编写了 SHA256withRSA 而不是实际的 SHA256

keytool : SHA256withRSA written instead of an actual SHA256 on my production keystore

我需要获取appsflyer的sha256指纹。

但是,当执行

keytool -list -v -alias myaliad -keystore ./mykey.keystore

我得到以下输出,其中我得到的不是实际的 SHA256 值,而是“SHA256withRSA”。

Nom d'alias : myapp
Date de création : 11 janv. 2017
Type d'entrée : PrivateKeyEntry
Longueur de chaîne du certificat : 1
Certificat[1]:
Propriétaire : CN=SomeDude, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Fr
Emetteur : CN=SomeDude, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Fr
Numéro de série : 583ebd9
Valide du : Wed Jan 11 19:03:04 CET 2017 au : Tue Dec 04 19:03:04 CET 2153
Empreintes du certificat :
         MD5 : *a correct md5 hash*
         SHA1 : *a correct sha1 hash*
         SHA256 : SHA256withRSA
Nom de l'algorithme de signature : Clé RSA 2048 bits
Algorithme de clé publique du sujet : 3
Version : {10}

我应该怎么做才能获得实际的 Sha256 指纹?

对此持保留态度。这可能是非英语语言环境(法语、德语)的 keytool 中的错误如果我错了,请随时纠正我:

locale=de,系统语言环境

keytool -list -v -keystore <pathToKeyStore>
...
Zertifikatfingerprints:
MD5: <FINGERPRINT>
SHA1: <FINGERPRINT>
SHA256: SHA256withRSA

现在是英文: 语言环境=en

LANG=C keytool -list -v -keystore <pathToKeyStore>
...
Certificate fingerprints:
SHA1: <FINGERPRINT>
SHA256: <FINGERPRINT>
Signature algorithm name: SHA256withRSA

所以第二个指纹似乎“总是”是 SHA256 指纹,只有在提到的两个或更多语言环境中“keytool”在翻译中存在错误。我不是这方面的专家,但这只是一个视觉观察。

我在使用 keytool 实用程序时遇到了同样的问题,但是直接使用“gradlew”就可以了。

转到项目的应用程序文件夹,然后运行:

./gradlew signingReport

它将打印与您的应用相关的所有签名。找到您正在寻找的那个(在我的例子中,它是“发布”)。

----------
Variant: release
Config: release
Store: ***
Alias: ***
MD5: ***
SHA1: ***
SHA-256: ***
Valid until: ***
----------