I believe it is up to the caller, that is the app or library using jmrtd, to insert the BC provider at position 1.
@martijno I think a better fix will be to always rely on the BC provider. For example, if you were to use jmrtd on Android, any getInstance() calls gets redirected to the default Android provider which is conscrypt. Conscrypt does not support some algorithms (i.e. secp256k1) and will throw this error.
Hi Felis, It seems that Microsoft Virtual Smart Cards do not allow for the creation of Data Objects, which is the type of data used by VeraCrypt to store the keyfile in the card.
Hello. This might happen when using the console version of VeraCrypt over SSH without X11 Forwarding, which is your case. This is due to the fact that VeraCrypt-Console links against wxWidgets-GUI library (which links against GTK) because it makes use of wxApp. One way to fix this is by setting the environment variable DISPLAY like the following prior to running VeraCrypt-Console : export DISPLAY=:0.0 Cheers.