Шифрование GPG: использую ли я правильные ключи?

Шифрование GPG: использую ли я правильные ключи?

У меня есть процесс шифрования банковского файла с использованием OpenPGP (через BouncyCastle) и отправки файла в банк по протоколу SFTP для финансовой обработки.

Они прислали мне файл открытого ключа, который я проверил с помощью следующей команды (результаты приведены ниже):

C:\Program Files (x86)\GNU\GnuPG>gpg2 --dry-run -vvvv --import \test\thekey.txt

gpg: using character set `CP437'
gpg: armor: BEGIN PGP PUBLIC KEY BLOCK
gpg: armor header: Version: GnuPG v1.2.6 (GNU/Linux)
:public key packet:
        version 4, algo 17, created 1232463981, expires 0
        pkey[0]: [1024 bits]
        pkey[1]: [160 bits]
        pkey[2]: [1024 bits]
        pkey[3]: [1021 bits]
        keyid: C0B18494F5B25CB6
:user ID packet: "FTP Upload Key 3 <[email protected]>"
:signature packet: algo 17, keyid C0B18494F5B25CB6
        version 4, created 1232463981, md5len 0, sigclass 0x13
        digest algo 2, begin of digest 23 e8
        hashed subpkt 2 len 4 (sig created 2009-01-20)
        hashed subpkt 27 len 1 (key flags: 03)
        hashed subpkt 11 len 5 (pref-sym-algos: 9 8 7 3 2)
        hashed subpkt 21 len 2 (pref-hash-algos: 2 3)
        hashed subpkt 22 len 2 (pref-zip-algos: 2 1)
        hashed subpkt 30 len 1 (features: 01)
        hashed subpkt 23 len 1 (key server preferences: 80)
        subpkt 16 len 8 (issuer key ID C0B18494F5B25CB6)
        data: [159 bits]
        data: [156 bits]
:public sub key packet:
        version 4, algo 16, created 1232463981, expires 0
        pkey[0]: [1024 bits]
        pkey[1]: [4 bits]
        pkey[2]: [1024 bits]
        keyid: 358DC68F4A83D261
:signature packet: algo 17, keyid C0B18494F5B25CB6
        version 4, created 1232463981, md5len 0, sigclass 0x18
        digest algo 2, begin of digest 28 08
        hashed subpkt 2 len 4 (sig created 2009-01-20)
        hashed subpkt 27 len 1 (key flags: 0C)
        subpkt 16 len 8 (issuer key ID C0B18494F5B25CB6)
        data: [158 bits]
        data: [160 bits]

gpg: pub  1024D/F5B25CB6 2009-01-20  FTP Upload Key 3 <[email protected]>
gpg: writing to `C:/Users/jholovacs/AppData/Roaming/gnupg/pubring.gpg'
gpg: using PGP trust model
gpg: key 9166F91E: accepted as trusted key
gpg: key DBA95ED9: accepted as trusted key
gpg: key DF548FCC: accepted as trusted key
gpg: key F5B25CB6: public key "[User ID not found]" imported
gpg: Total number processed: 1
gpg:               imported: 1

Я взял образец текстового файла, зашифровал его с помощью их открытого ключа и проверил полученный файл с помощью этой команды (результаты приведены ниже):

C:\Program Files (x86)\GNU\GnuPG>gpg2 --list-packets <\test\bankfile.pgp
:compressed packet: algo=1
:pubkey enc packet: version 3, algo 16, keyid 358DC68F4A83D261
        data: [1019 bits]
        data: [1024 bits]
:encrypted data packet:
        length: 620
gpg: encrypted with ELG key, ID 4A83D261
gpg: decryption failed: No secret key

Вот в чем дело: когда я загружаю файл в наш банк, они говорят, что файл не соответствует их закрытому ключу. Я вижу, что 358DC68F4A83D261идентификатор ключа соответствует их открытому ключу, поэтому я чешу голову... но я также вижу ключ ElGamal с идентификатором, который, 4A83D261похоже, не отражен в их файле открытого ключа.

Я использую собственное решение для шифрования, основанное на BouncyCastleбиблиотеке, поэтому возможно, что в шифровании есть ошибка ( Pgp4Winоднако я не могу воспроизвести ошибку, используя свою собственную версию ). Также возможно, что проблема на их стороне. Моя проблема в том, что я не уверен, как читать этот отзыв, чтобы определить, где проблема. Буду признателен за совет.

решение1

Хорошо, это был правильный ключ, и, похоже, это была проблема совместимости версий. Их версия OpenPGP не могла поддерживать версию сжатия данных BouncyCastle. В итоге я отключил сжатие, и их программное обеспечение смогло расшифровать файл.

Связанный контент