This works fine with Sun JCE where SHA is defined as an alias to the standard algorithm name SHA-1, but I need to use a different JCE provider that does not have the alias.
I quote from sun JCE docuemnt:
"Some providers may choose to also include alias names that also refer to the same algorithm. For example, the "SHA-1" algorithm might be referred to as "SHA1". Applications should use standard names instead of an alias, as not all providers may alias algorithm names in the same way."