Request for information SSL VEE / MbedTLS binding

Hi support Team,

as I am trying to better understand SSL binding between VEE and mbedTLS :

could you tell me a bit about the binding in LLNET_SSL_CONTEXT_impl.h for example :
#define LLNET_SSL_CONTEXT_IMPL_setPrivateKey Java_com_is2t_support_net_ssl_natives_SSLContextSupportNatives_setPrivateKey

I would be interesting to get (and how to know…) the exact matching between the native call, and the JAVA method, e.g witch java method is calling native one.

thanks for your help !

G.B

Hi Gilles,

setPrivateKey() is a function declared as native in Java. The symbol generated for the function is a concatenation of Java + package name + class name + function name, separated by underscores.

If you are interested about native functions you can check the SNI documentation on our developer website as well as our SNI How To on github .

Regards,

Benjamin

Hi Benjamin,
thanks for the tips.
I think I was not clear enough in my question :
is it possible you give exact relation betwwen java call (SSL) and LLNET_SSL_CONTEXT_impl.h function calls.

Also, from https://docs.microej.com/en/latest/PlatformDeveloperGuide/ssl.html
Can you confirm TLS MUTUAL authentication is supported ? because only server Auth is described .

Thanks

Hi Gilles,

Yes we support mutual authentication since version 2.1.0 of the SSL library.

Be aware that there are two LLNET_SSL_CONTEXT_impl.h files, one in microej/core/includeAPIs/ and another in microej/core/includeAPIs/intern.

I think you were talking about the second in your first post, which only redefine function names to shorten them. The other has the prototypes of these functions, for example:

int32_t LLNET_SSL_CONTEXT_IMPL_setPrivateKey(int32_t contextID, uint8_t* privateKey, int32_t offset, int32_t len, uint8_t* password,
		int32_t passwordOffset, int32_t passwordLen, uint8_t retry);

These prototypes match their native declared counterparts in Java, with this function we would have in Java the following declaration:

public static native void setPrivateKey(int contextID, byte[] privateKey, int len, byte[] password, int passwordLen)
			throws NativeIOException;

Hope this helps,

Regards,

Benjamin

Hi Benjamin, Thanks

Then, I could find what I was looking for by extracting microej ssl-2.1.jar from psram-1.4/source/javaLibs

e.g package com.is2t.support.net.ssl.natives;

Gilles