For a few weeks I was faced with a problem that I had never encountered before. On a Windows Server, browsing to the WebLogic Administration console, I was not able to do any modification or even check the monitoring screens. I always got a message that an error occurred without more explanation. After a new start of the WebLogic Administration Server, the error disappeared but was back after a day a a few hours.
<An exception [java.lang.InternalError: Unexpected CryptoAPI failure generating seed] was thrown while rendering the content at [/jsp/contentheader/ContentMenu.jsp]. javax.servlet.ServletException: java.lang.InternalError: Unexpected CryptoAPI failure generating seed at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341) at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:416) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:326) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
Note the highlighted line above; the issue was that the random generator was not having a enough wide range.
After this finding, the solution was to add the “urandom” generator in java options of the Administration Server start command. This was done using the setUserOverrides.cmd file to avoid those changes to be lost at next upgrade.
@REM Set the urandom for the Administration Server if "%SERVER_NAME%"=="AdminServer" ( set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.security.egd=file:/dev/./urandom )
Of course a restart of the WebLogic Administration Server is required for those java options to be taken in account.