bitcoinj optionally allows using the JNI bindings of libsecp256k1 [0] for
signature operations.
One month from now the libsecp256k1 project will remove the Java Native
Interface from the master branch.
The reason for this is that the JNI bindings would require way more work to
remain useful to Java developers but the maintainers and regular contributors of
libsecp are not very familiar with Java. There are properly maintained (but
unvetted) alternatives such as
You can find the discussions about this issue at