代码之家  ›  专栏  ›  技术社区  ›  deltaforce

如何在Python中使用JCEKS密钥库进行AES加密?

  •  0
  • deltaforce  · 技术社区  · 3 年前

    我有一个JCEKS文件,其中包含一个秘密条目。我应该使用密钥存储中的这个秘密条目,并使用它来使用Python执行AES加密。

    我能够使用Python中的pyjks库在Python中加载KeyStore文件。

    我可以通过尝试以下操作来查看我的秘密条目-

    import jks
    
    key_store = jks.KeyStore.load("path/to/keystore", "keystorepass")
    
    key_store.entries
    

    返回以下值

    {
        'mysecretentry': <jks.jks.SecretKeyEntry at 0x7fd676e65130>
    }
    

    但我不知道如何访问此密钥,以便在AES加密中使用此密钥

    from Crypto.Cipher import AES
    
    cipher = AES.new(mysecretentry, AES.MODE_CBC, iv)
    
    0 回复  |  直到 3 年前
        1
  •  0
  •   deltaforce    3 年前

    我们可以通过以下方式获得存储在密钥库中的安全密钥

    secure_key = key_store.entries['mysecretentry'].__getattr__('key')
    

    这会返回类似的内容-

    b"^\x88H\x98\xda(\x04qQ\xd0\xe5o\x8d\xc6)'s`=\rj\xab\xbd\xd6*\x11\xefr\x1d\x15B\xd8"
    
    

    以上内容 secure_key 可用于AES加密

    推荐文章