Expose native error codes and strings on private Exceptions?
Michael StJohns
mstjohns at comcast.net
Thu Dec 12 04:28:59 UTC 2024
Sorry - missed this before.
On 12/5/2024 4:50 PM, Sean Mullan wrote:
... clipped
>
> On 11/30/24 8:11 PM, Michael StJohns wrote:
>> I'm wondering if it would make sense to create a public interface
>> that these closed off implementation or factory classes could
>> implement that would allow for the retrieval of the native codes and
>> messages without workarounds? E.g. something like:
>>
>>
>> package java.lang; // or maybe java.util?
>>
>> public interface NativeException {
>>
>> public Long getNativeErrorCode(); // Return null if not supported
>>
>> public String getNativeErrorMessage(); // Return null if not
>> supported
>>
>> }
>>
>>
>> Obviously, this is more general than just the security stuff, but
>> that's where I've run into the related problems.
>
> I would be more inclined to add new standard Exception subclasses with
> the specific information, in other words expose PCSSCException as a
> public subclass of CardException and something similar on the PKCS11
> side. However, the SmartCard/IO API is externally specified in JSR so
> we would have to do an MR of that JSR.
>
> --Sean
PCSC, PKCS11 and JDBC are all plugin provider style things and I didn't
think it made a lot of sense to twiddle all of the public APIs just for
this. But making a public interface available (and suggested) for the
various private Exception classes that get passed as causes seemed to
make a bit of sense as a way of avoiding that type of change.
If you were going to open up the SmartCard IO API I'd probably want to
add a few other things: ::cancel() methods for the various ::wait()
methods; the ability to detect card reader plugin when provided by the
native code.
Thanks - Mike
More information about the security-dev
mailing list