SHA-1 MessageDigest firmware issue

I am able to use the java.security.MessageDigest for “SHA-1” in the simulator, but when targeting hardware I get the following exception:

Exception in thread "Thread3" ej.sni.NativeException: Native not implemented yet (error code=-202) at com.is2t.support.security.NativeSecurityProvider.getMessageDigestSpi(NativeSecurityProvider.java:103) at java.security.MessageDigest.getInstance(MessageDigest.java:151)

[snip]

The MessageDigest documentation implies that SHA should be in there…

Every implementation of the Java platform is required to support the following standard MessageDigest algorithms:

  • MD5
  • SHA-1
  • SHA-256

However, digging deeper, is the java call being routed through the BSP to LLSEC_DIGEST.c?

Am I required to write the MessageDigest SHA-1 functionality in the BSP, or can MessageDigest(“SHA-1”) be implemented in Java to ‘simplify’ matters?

Cheers,
Dave

Hi Dave,

Regarding the digests most of the time we prefer to rely on a native solution, especially if it is hardware accelerated. So yes the digest needs to be implemented, but most of the time you just need to call the corresponding function of the SSL stack you use.

You are right that the message is confusing, we will fix that.

Let me check if we have a portable Java implementation of SHA1.
Gaëtan