如何在Android上获取OAuth 2.0的签名证书指纹(SHA1)?

如何在Android上获取OAuth 2.0的签名证书指纹(SHA1)?,android,oauth-2.0,Android,Oauth 2.0,我正在尝试注册我的android应用程序,并遵循以下步骤 但是,我不确定如何获取签名证书指纹(SHA1) 我首先使用EclipseADT插件导出并创建keystore/key。 然后,我尝试了keytool-list keystore mykeystore.keystore,它给了我一个MD5证书指纹。我需要重做签名吗(这意味着我不能使用eclipse导出向导) 我可以先使用调试证书吗?查看您当时是否想使用Google Map,您需要MD5指纹来生成api kay以便在android应用程序中

我正在尝试注册我的android应用程序,并遵循以下步骤

但是,我不确定如何获取签名证书指纹(SHA1)

我首先使用EclipseADT插件导出并创建keystore/key。 然后,我尝试了
keytool-list keystore mykeystore.keystore
,它给了我一个MD5证书指纹。我需要重做签名吗(这意味着我不能使用eclipse导出向导)


我可以先使用调试证书吗?

查看您当时是否想使用
Google Map
,您需要
MD5
指纹来生成
api kay
以便在android应用程序中使用Google Map

如果使用
JDK 1.6
,Keytool命令生成
MD5
指纹;如果使用
JDK 1.7
,它生成
SHA1
指纹

所以,问题是,如果你想签署你的发布申请,那么请阅读


如果您想使用
谷歌地图
阅读。

请在命令行中使用此选项

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key

对于使用OpenSSL的用户,可以通过以下方式检索SHA1指纹:

OpenSSL> dgst -sha1 my-release-key.keystore
这将导致以下输出:

打开终端(在Unix中、在MAC中)、在Windows中(
cmd
)和
cd
到以下(您的java)路径:

运行以下命令:

keytool -list -v -keystore C:\Users\leon\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
只需将路径更改为debug.keystore,您将获得MD5和SHA-1指纹

keytool -list -v -keystore "keyStoreName"

从应用程序密钥库所在的目录运行此命令。

启动导出过程,为应用程序创建apk并使用生产密钥。最后一页显示您的SHA1和MD5证书指纹

我知道这个问题已经得到了回答,但这就是我如何找到默认密钥库的签名的。在Eclipse中,如果您转到Windows->Preferences->Android->Build

试试这个: Windows---preferences---Android---build---sh1代码从此处复制

如果您使用的是IntelliJ(12+?),请进入“功能表”build/Generate signed Api

填写弹出窗口后,获取“密钥存储路径”字段中的数据(例如C:\Users\user\Documents\store\store)

并在命令行中运行:

>keytool -list -v -keystore "C:\Users\user\Documents\store\store"

....
         MD5: 11:C5:09:73:50:A4:E5:71:A2:26:13:E0:7B:CD:DD:6B
    -->  SHA1: 07:0B:0E:E8:F7:22:59:72:6A:1C:68:05:05:CF:2E:6F:59:43:48:99
         SHA256: E6:CE:DA:37:C1:18:43:C1:A3:F0:9E:8F:1A:C2:69:AF:E6:41:F7:C0:18:
1D:1D:55:5D:F0:52:6C:EE:77:84:A7
...

祝你好运

如果你正在使用Mac甚至Linux,只需将其复制并粘贴到终端应用程序上,你就会立即获得SHA1密钥。不需要改变任何东西

 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
示例输出:

Alias name: androiddebugkey
Creation date: 17 Feb 12
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4f3dfc69
Valid from: Fri Feb 17 15:06:17 SGT 2012 until: Sun Feb 09 15:06:17 SGT 2042
Certificate fingerprints:
     MD5:  11:10:11:11:11:11:11:11:11:11:11:11:11:11:11:11
     SHA1: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:01:11
     Signature algorithm name: SHA1withRSA
     Version: 3

对于那些在mac上寻找keytool的用户。遵循以下步骤:

首先确保安装JavaJDK

然后在命令提示符下键入:

/usr/libexec/java_home-v1.7

它会吐出类似于:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
keytool与
javac
位于同一目录中。即:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

在bin目录中,您可以使用keytool。

我认为这将非常有效。我用了同样的方法:

对于Android Studio:

  • 单击生成生成签名的APK
  • 您将看到一个消息框,只需单击“确定”
  • 现在将出现另一个窗口,只需复制密钥存储路径即可
  • 现在打开命令提示符并转到C:\Program Files\Java\jdk1.6.0\u 39\bin>(或任何已安装的jdk版本)
  • 键入keytool-list-v-keystore,然后粘贴密钥存储 路径(例如C:\Program Files\Java\jdk1.6.0\u 39\bin>keytool-list-v -密钥库“E:\My Projects\Android\Android studio\signed apks\Hello World\HelloWorld.jks”)
  • 现在它将询问密钥存储密码,提供您的密码,然后按Enter键获取您的SHA1和MD5证书密钥

  • 如果有人使用Android studio

    单击:生成>生成已登录APK 创建一个新密钥:这将生成“.jks”文件

    使用以下命令读取数据(SHA1和其他信息):


    $keytool-list-v-keystorefilename.jks

    如果您使用的是Android Studio。您可以通过渐变任务快速获得SHA1证书指纹(调试、发布…所有构建类型!!):

    签约报告

    SHA1显示在消息日志中

    Android插件(在gradle应用程序中配置)为默认设置创建调试模式

    com.android.application

    到密钥库的文件路由:

    HOME/.android/debug.keystore

    我建议将debug.keystore附加到build.gradle。为此,请将文件debug.keystore放入应用程序文件夹,然后在gradle应用程序中添加SigningConfigs:

    apply plugin: 'com.android.application'
    
        android {
            ................
            signingConfigs {
                debug {
                    storeFile file("../app/debug.keystore")
                    storePassword "android"
                    keyAlias "androiddebugkey"
                    keyPassword "android"
                }
                release {
                    storeFile file("../app/debug.keystore")
                    storePassword "android"
                    keyAlias "androiddebugkey"
                    keyPassword "android"
                }
            }    
            ........
        }
    

    额外:如果要创建用于发布的文件,请将文件release.keystore放入应用程序文件夹。(此示例使用相同的debug.keystore)

    如果您使用的是Android Studio。您不需要使用cmd提示符生成SHA1指纹。您只需创建一个具有Android Studio默认地图活动的项目。在该项目中,您可以在“值”文件夹下的google_Maps_api.xml中获取指纹。希望这对您有所帮助。:)

    使用:

    • 文件>打开密钥库文件
    • 输入密钥库密码
    • 右键单击别名>证书详细信息>SHA-1指纹

    在Android Studio中,按照以下步骤操作:

  • 单击android studio IDE右侧的渐变属性菜单
  • 展开任务树
  • 点击signingReport 您可以在底部控制台看到您的SHA1

  • 获取SHA-1发布和调试模式android studio gradle的最简单方法

    我认为这将非常有效。我用了同样的方法:

    对于Android Studio:

    单击构建>生成已签名的APK。 您将看到一个消息框,只需单击“确定”

    现在将有另一个窗口,只需复制密钥存储路径

    现在打开命令提示符并转到C:\Program Files\Java\jdk1.6.0\u 39\bin>(或任何已安装的jdk版本)

    类型键控工具
    apply plugin: 'com.android.application'
    
        android {
            ................
            signingConfigs {
                debug {
                    storeFile file("../app/debug.keystore")
                    storePassword "android"
                    keyAlias "androiddebugkey"
                    keyPassword "android"
                }
                release {
                    storeFile file("../app/debug.keystore")
                    storePassword "android"
                    keyAlias "androiddebugkey"
                    keyPassword "android"
                }
            }    
            ........
        }
    
    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    
    compile 'com.vk:androidsdk:1.6.9'
    
    String[] fingerprints = VKUtil.getCertificateFingerprint(this, getPackageName()); 
    Log.d("SHA1", fingerprints[0]);
    
    keytool -list -v -keystore <.../path/keystore.jks>
    
    keytool -list -v -keystore /Users/Home/Projects/Keystore/myApp_keystore.jks
    Enter keystore password: 
    
    Keystore type: JKS
    Keystore provider: SUN
    
    Your keystore contains 1 entry
    
    Alias name:myApp_alias
    Owner: CN=xxx, OU=xxx Dev, O=ZZZ, L=Dhaka, ST=Dhaka, C=BD
    ..........
    
    
    Certificate fingerprints:
    MD5:  12:10:11:12:11:11:11:11:11:11:33:11:11:11:11:11
    SHA1: 11:44:11:11:55:11:17:11:11:66:11:11:88:11:11:77:11:11:01:11
    .....................