kurtbrose / pyjks

a pure python Java KeyStore file parser, including private key decryption
MIT License
130 stars 35 forks source link

Missing BksKeyStore.saves() method #76

Open fedosgad opened 1 year ago

fedosgad commented 1 year ago

Hello and thanks for a great library! I am using pyjks v20.0.0 from pip under WSL Ubuntu.

I am editing a BKS v1 keystore (it only contains certificates if that matters). I want to add a certificate from a file to the keystore. I can successfully open keystore with ks = jks.BksKeyStore.load(ks_path, password), read certs, generate new cert using jks.bks.BksTrustedCertEntry.new(new_alias, cert_bytes).

However, when I call ks.save(file, password) to save resulting keystore, the followind exception occurs:

Traceback (most recent call last):
  File "./list_cacerts.py", line 44, in <module>
    ks.save(res_path, password)
  File "/home/user/.local/lib/python3.8/site-packages/jks/util.py", line 101, in save
    keystore_bytes = self.saves(store_password)
AttributeError: 'BksKeyStore' object has no attribute 'saves'

Examining the source code, I indeed cannot find any save-related code for BKS and UBER storages.

Are there any plans to support saving BKS keystores?