我可以让大家知道我的证书吗?

时间:2016-07-13 07:13:45

标签: android code-signing

我认识的人要求我发布我的证书,以便将来如果我开发了一个需要真实性的应用程序,他们就可以验证APK是否来自我。

  1. 这是真的吗?人们可以使用证书验证APK吗?
  2. 安全吗?其他人可以使用我的证书签署另一张APK吗?
  3. 证书看起来像这样(我不会使用它,所以随时仔细检查它):

    -----BEGIN CERTIFICATE-----
    MIIF+jCCA+KgAwIBAgIEV4XpqTANBgkqhkiG9w0BAQsFADCBvTEiMCAGCSqGSIb3
    DQEJARYTSU5WQUxJREBJTlZBTElELk5FVDELMAkGA1UEBhMCUEgxEDAOBgNVBAgM
    B0lOVkFMSUQxHTAbBgNVBAcMFFRISVMgQ0VSVCBJUyBJTlZBTElEMR0wGwYDVQQK
    DBRUSElTIENFUlQgSVMgSU5WQUxJRDEPMA0GA1UECwwGZXh5bmlzMSkwJwYDVQQD
    DCBwYW5kYWxpb245OCAoc2FtcGxlIGNlcnRpZmljYXRlKTAgFw0xNjA3MTMwNzEy
    MzRaGA8zMDE1MDcxMzA3MTIzNFowgb0xIjAgBgkqhkiG9w0BCQEWE0lOVkFMSURA
    SU5WQUxJRC5ORVQxCzAJBgNVBAYTAlBIMRAwDgYDVQQIDAdJTlZBTElEMR0wGwYD
    VQQHDBRUSElTIENFUlQgSVMgSU5WQUxJRDEdMBsGA1UECgwUVEhJUyBDRVJUIElT
    IElOVkFMSUQxDzANBgNVBAsMBmV4eW5pczEpMCcGA1UEAwwgcGFuZGFsaW9uOTgg
    KHNhbXBsZSBjZXJ0aWZpY2F0ZSkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
    AoICAQDUY79bSf3rPiNj0dp2/orXrvLroXgT2JCHEpQd9mV4ms0Ee18Xhgcp6ruE
    2A8Cty60hF5lVEc+/UgUJzD4ViHnvMYzv4pl2Hqn1/bm4Fllb/uYpelx+Lz3jYKO
    vl4Izt/luL5zQo537YHENNxUxGeNYdi7mbLwG1P3hgF4QVDz1WJYGo/lGtdcbILX
    03bVmrQ8IltakC/V7th9dCp6KUcDEG+a3iIiOsAwp1tKSFsQsgmiXsNsPqhKhLgA
    ethel3i/1vzhNeYdCd859Q5ONzZNa/Fqpcp2MYU7oPSd7H88Q4r2XQqPHRjJOIhW
    XOAruG/MgLAAvhWn5PCHv/n6MTBalp3/YTx0H6rrjJq9VuH5QxLmb2Yy0PwPdiaL
    8fU/vA6xoIRilq6R7AEy0o1UxRp9yGz/KiiIPd3HVKOc4gSbKXSIZ6ChFTEiPI4j
    Pafh4SXPq2hJr70u3ZanXuu0LcFp0d1mOD31QZ4+QouPVjKPeJlYCVmPpasiuPno
    iIKl5aX3cSDPYi55pA9hxFdCWymlu5t4cq4iGHX4XzDHwxGbMrQYPi06gyEptKb1
    k7zrozN1dsR3/Yjr0EYKhJfFm8uu7N6etDUrX7lYYauzH3oWLArc0sUzMqAjL2wH
    muWmfuLcUGYnJ3Ch4n6jeEkTFKaz5Tg9udgzuAj883/EUvWY/QIDAQABMA0GCSqG
    SIb3DQEBCwUAA4ICAQBKPSUn+iUNPNhvscuFdEQe4Qw6WbWjo2JtIzmHjGVQQiSU
    hLYPrtTNDv5UDSl7SVz/6bayYG3tiZuAUjwdylB5t730s5Q2wu2VPsVbrDnEM4f4
    bNRoRe8etVa3gDhXeGH8AU1yjjeMEfq5U44OSKgltt5DZmSQOBqtsixZjSFOBG0w
    GA4pZM0UQfE6a0M+k7tLozrDIhnBWzDy9rD5oz/71HZeU8VDX3yZRLLc/S7AogQD
    ZTmdYsODbgZjvFNjhZ2bUbL2HdSbCSExw1TEHLiRAy/OJlSwCSVd1ee3nhaUeS7W
    pZNfgTLGrUmcLtl/xvI/cBkUyUVlq8OPXB2G4PEyDjoWN3tolsWY20MI3QrCMUbD
    CapLDWBincu31i9IKXttEuj6XdaqI/lUY9QPQzt+s578kpevvPmD7XNlxisOecV7
    jIJjIgsux41p7fLJfvovdgPsjlycsiCrHdi9/fbfOBpq2n1LH/p/oHuWW6HKJzlv
    33WtVq9DrJnQ8CGGjVoZN1cwgCIk/sgmR9X3JaF0u3Uk1ieSY4DXK67mKKZE6x2P
    BQIhR9WVKlHMtYJR/OcryhDLgBkHeOfYVTi3Gjw+nt58m7xomjEYUw+J9hjtucQw
    gmoHU4TYbcQyUFYk/1wSoUUt66/zX5oEEvCIPEL4yyxx2fjRFXLYLTRpzY77AQ==
    -----END CERTIFICATE-----
    

2 个答案:

答案 0 :(得分:0)

除非你有一些客户需要确定这个apk是你的,否则你不需要发布任何密钥。在这种情况下,你只需给他们public key。注意:永远不要发布您的私钥,使用您的私钥可以编辑您的apk并发布。

公钥:

  

公钥证书(也称为数字证书或身份证书)包含公钥/私钥对的公钥,以及标识密钥所有者的一些其他元数据(例如,名称和地点)。证书的所有者持有相应的私钥。

     

签署APK时,签名工具会将公钥证书附加到APK。公钥证书用作"指纹"唯一地将APK与您和您相应的私钥相关联。这有助于Android确保您APK的任何未来更新都是真实的,并且来自原始作者。

私钥:

  

密钥库是包含一个或多个私钥的二进制文件。当您使用Android Studio签署APK以进行发布时,您可以选择生成新的密钥库和私钥,或使用您已有的密钥库和私钥。您应该为密钥库选择一个强密码,并为密钥库中存储的每个私钥选择一个单独的强密码。您必须将密钥库保存在安全的地方。

     

维护私钥的安全性对您和用户都至关重要。如果您允许某人使用您的密钥,或者您将密钥库和密码留在不安全的位置,以便第三方可以找到并使用它们,那么您的创作身份和用户的信任就会受到损害。

https://developer.android.com/studio/publish/app-signing.html

答案 1 :(得分:0)

不要与任何人共享任何证书或密钥。 其他人非法使用您的密钥会导致谷歌删除Playstore帐户。 并且您不能再使用同一台PC来编译Android应用程序以进行发布(即使您设法获得另一个帐户)。 此外,它还可以帮助其他人破解或重新发布您的应用程序