标签: keystore

我丢失了我的密钥库,我无法在市场上升级我的应用程序

我将我的第一个应用程序上传到市场,现在我想升级一个新版本,但是当我升级我的应用程序时,我遇到了这个异常."必须使用与先前版本相同的证书对apk进行签名." 我丢失了证书密钥库,在这种情况下我该怎么办?取消发布我的应用并重命名包?我可以使用其他密钥库上传其他应用程序吗?

android keystore google-play

2
推荐指数
1
解决办法
1410
查看次数

keytool错误:java.security.KeyStoreException:找不到BKS

如何在java sun keytool中创建.bks密钥库,我该怎么办?

C:\Program Files\Java\jdk1.6.0\jre\bin>keytool -genkey -alias server3private -ke
ystore server3.private -storetype BKS -keyalg rsa -dname "CN=Your Name, OU=Your
Organizational Unit, O=Your Organization, L=Your City, S=Your State, C=Your Coun
try" -storepass tahirpw -keypass tahirpw
Run Code Online (Sandbox Code Playgroud)

它给了我错误

keytool错误:java.security.KeyStoreException:找不到BKS

java keystore

2
推荐指数
1
解决办法
2万
查看次数

com.iplanet.services.comm.client.SendRequestException:sun.security.validator.ValidatorException:PKIX路径构建失败:

我做了以下步骤,但它抛出异常:

1.我在Windows Server 2003上安装了openam 10.0.0.

2.在同一台Windows服务器计算机上使用ssl配置tomcat.

3.配置正确,可以使用https访问openam网址.

4.安装openam客户端sdk在另一台机器上,这是ubuntu机器,从那个ubuntu机器我试图登录到openam服务器使用

        AuthContext lc = new AuthContext("/","https://server.ensarm.com:8443/openam/namingservice");
        AuthContext.IndexType indexType = AuthContext.IndexType.MODULE_INSTANCE;
        lc.login(indexType, "DataStore");
        return lc;
Run Code Online (Sandbox Code Playgroud)

但我得到以下例外:

ERROR: Naming service connection failed for https://server.ensarm.com:8443/openam/namingservice
com.iplanet.services.comm.client.SendRequestException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Run Code Online (Sandbox Code Playgroud)

我不明白可能是什么问题.由于我的java密钥库(ssl配置需要)是在Windows服务器机器上,我在ubuntu机器上没有密钥库,

要么

需要将密钥库导入到ubuntu机器中.请任何人帮我摆脱这个.

java openssl keystore openam

2
推荐指数
1
解决办法
2万
查看次数

Android密钥库密码字段

我已经完成了一个Android应用程序的开发,并决定用密钥库签名.我对此过程没有任何问题,但我确实对密钥库的密码有疑问.我正在从Keystore selection窗口创建密钥库,在窗口,我选择了create new keystore.在我按下后,在Key Creation窗口下,我需要键入密钥库的详细信息; 别名,有效期,密码等

我想问的是,Key Creation窗口中的密码字段和Keystore selection窗口之间有什么区别吗?我尝试为两者设置相同的密码,它对我来说很好.我可以选择输入不同的密码吗?它是否会影响该特定密钥库的任何内容?希望任何人都可以为我提供这方面的见解.

passwords android keystore

2
推荐指数
1
解决办法
1140
查看次数

在存储之前和从KeyStore检索之后,SecretKey的Base64编码值不相同

我真的很困惑为什么编码值不同

这是完整的代码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.security.Key;
import java.security.KeyStore;

import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

import org.bouncycastle.util.encoders.Base64;

public class KeyStoreDemo {

    private static final String KEY_STORE_TYPE = "JCEKS";
    private static final String KEY_STORE_NAME = "sampleKeyStore.store";
    private static final String KEY_STORE_PASSWORD = "letmein";


    public static void main(String[] args) throws Exception {
        File storeFile = new File(KEY_STORE_NAME);
        storeFile.createNewFile();

        //Create a keystore
        createKeyStore(KEY_STORE_TYPE, storeFile,KEY_STORE_PASSWORD);

        //Generate a key and store it in keystore
        KeyStore keyStore = loadKeyStore(KEY_STORE_TYPE,storeFile,KEY_STORE_PASSWORD);      


        // Get the KeyGenerator …
Run Code Online (Sandbox Code Playgroud)

java encryption base64 encoding keystore

2
推荐指数
1
解决办法
5263
查看次数

在Play Framework 1.2.7中使用的Netty的SSL处理程序中处理多个证书

我有一个Java密钥库,我为每个客户的子域存储证书.我打算使用服务器别名来区分密钥存储区中的多个客户,如此处所示.Play框架1.2.7使用Netty的SslHandler来支持服务器端的SSL.我尝试实现使用此解决方案的自定义SslHttpServerContextFactory .

import play.Play;

import javax.net.ssl.*;
import java.io.FileInputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.security.KeyStore;
import java.security.Principal;
import java.security.PrivateKey;
import java.security.Security;
import java.security.cert.X509Certificate;
import java.util.Properties;

public class CustomSslHttpServerContextFactory {

  private static final String PROTOCOL = "SSL";
  private static final SSLContext SERVER_CONTEXT;

  static {

    String algorithm = Security.getProperty("ssl.KeyManagerFactory.algorithm");
    if (algorithm == null) {
      algorithm = "SunX509";
    }

    SSLContext serverContext = null;
    KeyStore ks = null;
    try {
      final Properties p = Play.configuration;

      // Try to load it from …
Run Code Online (Sandbox Code Playgroud)

ssl jsse keystore netty playframework-1.x

2
推荐指数
1
解决办法
2233
查看次数

如何将AES加密中使用的密钥共享给其他一些应用程序进行解密?

我必须实现具有以下场景的AES加密/解密.

App1和App2有2个应用程序在不同的服务器上运行.App1将加密(使用AES加密)一些数据并将其提供给App2.App2将使用AES解密解密相同的数据.需要与App2共享密钥以进行解密.那么,如何与App2共享密钥?在这种情况下我们可以使用java密钥库吗?

java security encryption cryptography keystore

2
推荐指数
1
解决办法
2093
查看次数

使用公钥验证Android应用程序签名?

我正在创建一个解锁应用,可以删除广告并解锁几个应用中的高级功能.我的计划是只调用PackageManager并验证已安装解锁应用程序,如果是,请验证签名以确保它实际上是我的应用程序.我在这里听到这个答案:检测是否从Android Market下载了应用程序

但是,我想我对我正在验证的签名有点困惑......这是我的公钥,对吗?如果是这样,我如何从现有的应用程序或密钥库中提取它?

java android keystore

2
推荐指数
1
解决办法
1175
查看次数

尝试在Android Studio中重命名包,但说文件(com)已经存在

我在Android Studio中创建了一个新的应用程序,一切都很顺利,我创建了一个签名的apk,但我在Play商店发布了一个旧应用程序,我设法找到了那个旧应用程序的key.keystore,我最初在Eclipse中做了两个几年前,所以在Keystore Explorer中打开我的旧apk后,我能够记住我的旧商店密码,别名和密码,所以我回到Android Studio,点击Generate New Signed apk,我选择了我的旧密钥库路径,填写在信息中(存储密码,别名,密钥密码,它让我生成带有旧key.keystore的新签名apk,所以我假设我实际上已经使用我的旧Eclipse key.keystore或它签署了新的AS应用程序不会让我生成一个签名的apk吗?或者在模拟器中运行它,直到我输入正确的信息.

现在我遇到的下一个问题是重命名包,我需要做的是将新的app/package重命名为与旧app/package相同的名称(com.name.radio)我读到你在build.gradle .....当我在AS中创建我的新应用程序时,我能够首先在java下重命名3个文件夹而没有任何问题(到name.ie.radio)这样做我选择了我要重命名的文件夹,单击显示选项菜单,取消选中Compact Empty Middle Packages,右键单击我的文件夹并选择Refactor> Rename> Rename Package,然后我必须在build.gradle中更正它,第一次正常工作.

现在我想重新命名我的新应用程序/包,与我的旧应用程序(com.name.radio)同名,所以我尝试将新包名设置为com,但它不允许我,说该文件已经存在.http://i.stack.imgur.com/cNgA5.png

我应该删除以下位置的com文件夹:\ app\build\generated\source\r\release尝试在build.gradle中重命名它是没有意义的吗?

有人在这里帮助我,这就像每晚的猜测.我只是想发布我的旧应用程序的更新,而不必发布一个新的应用程序.

android keystore apk

2
推荐指数
1
解决办法
2322
查看次数

Android应用程序的发布密钥库位于何处?

我正在按照本教程创建基于回合制的多人游戏:https://developers.google.com/games/services/console/enabling

在"指定客户端ID设置"部分下,他们说要运行:

keytool -list -keystore [path-to-debug-keystore]

这很好,因为他们也不在话下调试密钥库的位置:"在Windows中,调试密钥库可以位于C:\用户[用户名] .android\debug.keystore"

他们还说要运行这个命令:

keytool -list -keystore [path-to-production-keystore]

但他们没有提到发布/生产密钥库的位置.

...它在哪里?

android keystore android-keystore

2
推荐指数
1
解决办法
1811
查看次数