I have a Java written web service verifying digitally signed requests via public keys. Clients could be written in different languages, PHP for example. So I want to choose an key/signing algorithm wisely... For example, official Java tutorial on signing offers DSA
keys and SHA1withDSA
signature but there are some complains for using the latter with PHP.
Which signing algorithm could I choose?
RSA. Java has a ton of libraries for it and it is the most widely used. Shouldn't use SHA1 either.