草庐IT

java - 通过keytool获取应用发布私钥

我找不到在线教程来逐步指导我如何使用JDK中的keytool生成合适的key。这个:http://developer.android.com/guide/publishing/app-signing.html谈论它并给出命令,但实际上并没有说明在何处以及在哪个文件夹中键入命令。我确定我在这里遗漏了一些简单的东西,但是有人可以指导我从哪里开始吗? 最佳答案 在命令提示符下运行所有​​这些命令。我假设您正在使用Windows机器进行开发。开始-->运行-->cmd类型:java-版本您应该得到返回的版本号,例如“Javav1.62”或类

android - 从 AndroidKeystore 加载私钥时出现问题

Android提供了一个API来为加密操作生成key,并在Android系统keystore中存储/加载它们。我遵循了KeyGenParameterSpec的JavaDocs中的示例类(class)。key的生成、存储和加载工作。但是,如果我尝试使用key,密码对象的init()调用将失败。我调试了一下,我可以看到,加载的key是“android.security.keystore.AndroidKeyStoreSecretKey”类型的。此实现可防止key的byte[]被暴露。出于安全原因,我理解这一点,但如果我想使用key,我必须获取key内容。所以,我必须做错事。也许,还有另一种

java - 在 Android Jelly Bean 上恢复 RSA 私钥时出错

我在我的应用程序中使用了加密。我将私钥存储为字节数组并使用以下代码恢复它:PrivateKeyprivate=KeyFactory.getInstance("RSA").generatePrivate(newPKCS8EncodedKeySpec(s_privateKeyIn1t));它在我所有的目标android平台2.1->4.0.4上完美运行,但在JellyBean上失败了!JellyBean抛出异常:07-2017:29:35.197:E/AnyBalance:Codec(990):Causedby:java.lang.RuntimeException:error:0D0680

java - 为 Android 上的 SSH 登录生成 RSA 私钥/公钥对

我正在开展一个项目,我需要我的应用程序为SSH登录生成公钥/私钥RSAkey。到目前为止,我有以下代码来获取key:privatevoidcreateKeyTest(){try{KeyPairGeneratorkpg=KeyPairGenerator.getInstance("RSA");kpg.initialize(2048);KeyPairkeyPair=kpg.genKeyPair();byte[]pri=keyPair.getPrivate().getEncoded();byte[]pub=keyPair.getPublic().getEncoded();Stringpriva

java - 使用 PEM 私钥签名字符串

我有一个PEM编码的私钥,我需要用它签署一个字符串。但是代码总是异常崩溃:java.security.spec.InvalidKeySpecException:java.lang.RuntimeException:error:0c0890ba:ASN.1encodingroutines:asn1_check_tlen:WRONG_TAG关键字符串:-----BEGINENCRYPTEDPRIVATEKEY-----MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI4P/+9mJV6RwCAggAMBQGCCqGSIb3DQMHBAg/ZWG

java - 存储/检索椭圆曲线加密 (ECC) 公钥和私钥

我必须编写代码来生成ECCkey对。然后我用公钥加密字符串,用私钥解密。现在我通过将key对写入pem文件并存储在外部存储器中来存储它。这似乎不安全。那么如何存储和检索这些key呢?这是我生成key对并写入pem文件的代码:btnGenKey.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){ECNamedCurveParameterSpecspec=ECNamedCurveTable.getParameterSpec("prime256v1");try{KeyPairGener

android - encode() 私钥在 "AndroidKeyStore"返回 null

对于Android4.3,此代码返回null。KeyStorekeyStore=KeyStore.getInstance("AndroidKeyStore");keyStore.load(null);keyStore.setKeyEntry(alias,privateKey,null,certificateChain);PrivateKeyEntryentry=(PrivateKeyEntry)keyStore.getEntry(alias,newPasswordProtection(password));assert(entry.getPrivateKey().getEncoded(

android - 如何获取私钥以在android中获取签名的apk文件?

我想知道在googleplaystore中发布androidapk的信息。我阅读了开发者网站。但是我努力获取apk文件的私钥。如何使用Release模式获取签名的apk文件。所以我需要一些循序渐进的过程。 最佳答案 这里有几个步骤可以帮助您创建一个发布私有(private)签名key:选择文件->导出在弹出窗口中,展开Android并选择导出Android应用程序在下一个弹出窗口中,选择浏览按钮并选择您需要发布APK的项目。单击下一步按钮。下一组选项用于选择现有keystore或创建新keystore。选择创建新的keystore,

android - 在 Android 中,如何确保私钥存储在安全硬件中

KeyInfo的isInsideSecureHardware方法的返回值似乎取决于设备型号、操作系统版本和其他一些随机因素。例如,当使用带有旧操作系统版本的Sonyxperiaz5compact时,isInsideSecureHardware()可能会返回true一段时间,然后突然开始为相同的私钥返回false。对于最新的操作系统版本(32.2.A.0.224),它似乎只返回false。华为Nexus6P始终返回true。有没有办法确保key存储在安全的硬件中?这是我当前的代码:KeyPairGeneratorkeyPairGenerator=KeyPairGenerator.getI

java - KeyStore 不为带有 BouncyCaSTLe 的 Android 中的 PKCS12 文件应用/强制执行私钥密码

我发现当我创建一个受密码保护的PKCS12文件时,该文件还包含一个受密码保护的私钥及其关联的公钥/证书,无论提供给的密码如何,我都能够解密该私钥getKey()(内部加密内容)只要向KeyStore的初始load()提供正确的密码即可。这是一个已知问题还是有其他人看到过这个?看起来私钥密码确实未被使用或被忽略。我正在使用以BouncyCaSTLe作为提供者的Android。我也很好奇这个问题是否适用于JKS而不仅仅是BouncyCaSTLe?为清楚起见,删除了以下代码中的错误检查。当我创建我的PKCS12文件时,我使用以下代码(privateKey是一个RSAPrivateKey而si