当前位置: 首页 > 知识库问答 >
问题:

使用Keytool将DES添加到密钥存储库

林蕴藉
2023-03-14

我在java中实现了一个加密和解密器,它可以在密钥存储库文件上工作。我的密钥库已经有两个RSA的别名,但现在我需要添加DES。

有办法通过keytool做到这一点吗?我找不到任何地方可以做这件事。

共有1个答案

郤瀚
2023-03-14

keystore可以用来存储加密密钥,它使用的是PKCS12类型。示例代码取自https://www.pixelstech.net/article/1420427307-Difference-types-of-keystore-in-java----PKCS12

请注意,在本例中,sore和密钥输入密码存储在不安全的代码中。

    /*
    Store secret key
    PKCS12 allows to store secret keys on a limited base. Secret keys are frequently used to encrypt/decrypt data.
    To transfer the keys conveniently, they can be stored in a keystore like PKCS12 and transferred.
    Some secret keys with algorithm AES stored on PKCS12 keystore cannot be extracted in Java.
    Since PKCS12 is a portable standard, other libraries may support extracting secret keys.
     */
    try {
        KeyStore keyStore = KeyStore.getInstance("PKCS12");
        keyStore.load(null, null);
        keyStore.load(new FileInputStream("pt_output.p12"), "password".toCharArray());

        KeyGenerator keyGen = KeyGenerator.getInstance("AES");
        keyGen.init(128);
        Key key = keyGen.generateKey();
        keyStore.setKeyEntry("secret", key, "password".toCharArray(), null);

        keyStore.store(new FileOutputStream("pt_output.p12"), "password".toCharArray());
    } catch (Exception ex) {
        ex.printStackTrace();
    }
 类似资料:
  • 我想用keytool程序创建一个PKCS12密钥存储格式的证书。 密钥库的扩展名为。

  • 问题内容: 据我了解,密钥库通常会保存私钥/公钥,而信任库通常只保存公钥(并代表你打算与之通信的受信任方的列表)。好吧,这是我的第一个假设,因此,如果这不正确,那么我可能起步并不顺利。 不过,我很想了解使用keytool时如何/何时区分商店。 因此,到目前为止,我已经使用 这将创建我的keystore.ks文件。我回答yes了我是否信任bob的问题,但是我不清楚这是否创建了密钥库文件或信任库文件?

  • 证书、私钥(客户端)和客户端证书都是pem格式的,我必须将它们添加到信任存储区和密钥存储区中。我该怎么做呢?到目前为止,我在cmd(windows)中有命令: > 要生成PKC(key:客户端私钥,cert:客户端cert,CA:CACERT):openssl pkcs12-inKey key.pem-in cert.pem-export-out keystored.p12-certfile CA

  • MySQL Server Enterprise edition与Hashicorp集成,在静止状态下加密数据。加密密钥存储在HashiCorp存储库中,如MySQL文档中所述。 基于HashiCorp文档[1][2],我们可以使用Azure密钥库来存储秘密。 是否可以集成mysql-hashicorp-Azure密钥库 MySQL Enterprise Edition使用hashicorp加密 加

  • 我有一个premium storage account,在创建这个帐户后我就启用了加密,我找到了这个链接https://docs.microsoft.com/en-us/azure/storage/storage-service-encryption来检查blob是否加密。 现在,如果我使用Azure key vault加密OS盘和数据盘,它也用于保护静止数据,但加密存储帐户也会做同样的事情。有谁

  • 问题内容: 我正在编写NIO服务器,并希望根据用户请求进行响应,即将一些数据写入通道。 读取一些数据后,我想响应。这意味着我需要添加到键,然后将键添加到“ 选定键”集中 ,然后一旦键出现在选定集中,就将一些内容写入通道。 如何将密钥显式添加到所选集中? 问题答案: 你不能 从Javadoc: 键可能无法直接添加到所选键集中。 您只能从中删除密钥。 但是您不需要任何这些。如果要写,只需写,且 仅当