2016-01-21 48 views
1

我想使用GPGME加密數據(無文件)並將數據保存到數據庫中。我瞭解到,使用OpenPGP作爲協議的GPGME將使用GPG和CAST5加密數據。 CAST5,這是我的命令行告訴我,如果我有檢查gpg2:強制GPGME中的GPG使用非CAST5的密碼

LANG=C gpg2 --verbose --symmetric 
gpg: using cipher CAST5 

我不知道爲什麼它不使用new AES-128 default value。但我想我沒有可用的最新版本(我的debian系統中的軟件包管理器也沒有)。

我真的想配置GPG使用AES進行加密,方法是設置gpg.conf文件中提到的herehomepage of GPG中的對應值。所以我試圖通過使用gpgme_get_engine_info並查看home_dir來獲取有關文件位置的信息,但是此路徑似乎爲空。 file_nameusr/bin/gpg2。但是,沒有gpg.conf。嚴格來說,我的系統中根本沒有gpg.conf。 那麼如果這個文件丟失怎麼辦?或者有沒有辦法用GPGME以編程方式設置數值?我只找到

gpgme_ctx_set_engine_info (gpgme_ctx_t ctx, gpgme_protocol_t proto, const char *file_name, const char *home_dir) 

所以我可以創建一個新的配置和使用此功能設置的路徑。但是這會假定我知道這個文件是怎麼樣的。可悲的是我沒有。

回答

1

我發現了一個pgp.conf文件的good example,它顯示瞭如何設置密碼和散列函數的首選值。這是摘錄:

# list of personal digest preferences. When multiple digests are supported by 
# all recipients, choose the strongest one 
personal-cipher-preferences AES256 AES192 AES CAST5 

# list of personal digest preferences. When multiple ciphers are supported by 
# all recipients, choose the strongest one 
personal-digest-preferences SHA512 SHA384 SHA256 SHA224 

# message digest algorithm used when signing a key 
cert-digest-algo SHA512 

# This preference list is used for new keys and becomes the default for 
# "setpref" in the edit menu 
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed