Honestly, it's not clear to me that we should handle this scenario. The
only reason I would propose fixing it is to handle people (like me) who did
it wrong and then upgraded. Requiring a keyring isn't that unusual, and the
docs are pretty specific. I just didn't read them.

Alan

On Tue, Mar 29, 2016 at 1:28 PM, Andy LoPresto <[email protected]>
wrote:

> Alan,
>
> The processor properties for public keyring file and secret keyring file
> are fairly explicit in their names, so when I upgraded the BouncyCastle
> dependencies, I wrote logic that performs strict validation on the file
> format because the underlying library code changed substantially. I was
> unaware anyone was using the individual key file there.
>
> I have created a Jira [1] for 0.7.0 to add custom logic to handle this
> scenario.
>
> [1] https://issues.apache.org/jira/browse/NIFI-1694
>
> Andy LoPresto
> [email protected]
> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
>
> On Mar 29, 2016, at 8:03 AM, Alan Jackoway <[email protected]> wrote:
>
> I don't get a stacktrace. Probably because it is a validation failure and
> the error is caught at
> https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/EncryptContent.java#L288
>
> I couldn't get your template to work without the gpgkeyring file. However,
> that clued me into what I believe is the problem.
>
> I have not been using a public keyring file, but rather the public key
> itself. Somehow that used to work, but the parameter has always been called
> Public Keyring File so I was using it wrong the whole time.
>
> I attached the encrypt template that is working for me back in 0.3.0 (and
> should work in 0.4.1 but not 0.5.1)
>
> To fix it for 0.5.1, I had to make a real keyring file AND change the user
> id to be the right thing.
>
> This feels like a regression to me, but one where I was not following the
> instructions all along.
>
> Thanks,
> Alan
>
> On Tue, Mar 29, 2016 at 1:15 AM, Andy LoPresto <[email protected]
> > wrote:
>
>> The only other thing I can think of off the top of my head is that the
>> userID specification may have changed with the BouncyCastle upgrade and the
>> provided userID of just an email may be incomplete? In my testing, I had to
>> specify the "name", "description", and "email" fields from the key in the
>> format below in order to match the exact format that the library reads from
>> the keyring.
>>
>> userID = "Name (Description) <Email>"
>>
>> You can test this and evaluate what the library sees as the key userID by
>> attaching a remote debugger to your running instance and evaluating inside
>> the iterator loop here [1].
>>
>> I'm not sure what version of GPG you're running, but it is worth
>> investigating if the format of the stored key no longer matches how NiFi
>> was reading it.
>>
>> [1]
>> https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/crypto/OpenPGPKeyBasedEncryptor.java#L200
>>
>>
>>
>> Andy LoPresto
>> [email protected]
>> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
>>
>> > On Mar 28, 2016, at 18:24, Andy LoPresto <[email protected]>
>> wrote:
>> >
>> > Forgot to mention you’ll want to change the input/output directories in
>> the GetFile and PutFile processors, as well as the paths to the public and
>> secret keyring, the user ID, and the password for the EncryptContent
>> processors.
>> >
>> > Andy LoPresto
>> > [email protected]
>> > PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
>> >
>> >> On Mar 28, 2016, at 4:04 PM, Andy LoPresto <[email protected]>
>> wrote:
>> >>
>> >> Hi Alan,
>> >>
>> >> I am investigating this issue (spinning up an instance, setting up a
>> flow that involves PGP encryption and decryption, etc.) to verify.
>> >>
>> >> As an aside, the setting for “Key Derivation Function” is irrelevant
>> if “Encryption Algorithm” is set to “PGP” or “PGP_ASCII_ARMOR”. The KDF is
>> required for symmetric encryption (deriving a key from the provided
>> password), but not used for PGP encryption/decryption at all.
>> Unfortunately, we cannot currently display/hide or change the required-ness
>> of processor properties based on the value of other properties. There is an
>> existing Jira open [1] to enhance this functionality. Perhaps this can be
>> better documented in the Admin Guide [2].
>> >>
>> >> Can you also provide the full stacktrace and your system
>> configuration, if possible, to help with the troubleshooting? Thank you.
>> >>
>> >> [1] https://issues.apache.org/jira/browse/NIFI-1121
>> >> [2]
>> https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#encryption
>> >>
>> >>
>> >> Andy LoPresto
>> >> [email protected]
>> >> PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69
>> >>
>> >>> On Mar 28, 2016, at 2:18 PM, Alan Jackoway <[email protected]>
>> wrote:
>> >>>
>> >>> Hello,
>> >>>
>> >>> I had an EncryptContent processor running with PGP public key
>> encryption when we were running NiFi 0.4.x.
>> >>>
>> >>> We recently went up to a 0.5.x, which includes NIFI-1257 and
>> NIFI-1259. Now my EncryptContent processors are failing to validate my key
>> with an error message:
>> >>> 'Public Keyring File' is invalid because Invalid Public Keyring File
>> filename because java.io.IOException: invalid header encountered
>> >>>
>> >>> I tried all the key derivation functions, but in all cases I got the
>> same error.
>> >>>
>> >>> Is there an easy way to talk NiFi into using my key again?
>> >>>
>> >>> I have attached a public key that works on 0.3.0 (I didn't have 0.4
>> on my machine for some reason) but fails in 0.5.1. The user id is
>> [email protected]
>> >>>
>> >>> Is there any easy fix? Should I file a jira?
>> >>>
>> >>> Since it said invalid header, I tried taking out the comment at the
>> top of the key. That didn't work.
>> >>>
>> >>> Thanks,
>> >>> Alan
>> >>> <TestPublicKey.asc>
>> >
>>
>
> <AlanEncryptTemplate.xml>
>
>
>

Reply via email to