There is no discrepancy between the keys. One is printed in base-16 (hexadecimal) whereas the other is printed in decimal. Just try the following code for reassurance:
BigInteger bi = new BigInteger(
"90d3b5cefc50dc42828cee8d718876f7573b4c9287dddf808e73cb66266c2004165217f86d0f0192de0bb88b3aac2002303ee8b1c926e9bc54189a5ec5a12bb293df0b3c6ff2458a63098f712f0b72218ce301c38de3971ae8c6c646160a5e2e24dc07679e5a82ada1233ecf5eca3d0d1f483d1c9f059a23deed537c670b70b1",
16);
System.out.println(bi.toString(10));
The result will be the same as your non OpenSSL key.
What's happening here is that your different platforms have different cryptographic providers that perform the crypto operations. The results will be the same, but there will be small idiosyncrasies that will be noticed, for example, when calling toString()
.