Description
When trying to create a new Authentication Provider, the "SAML" option is missing and keystore initialization errors are logged on startup
Symptoms
An error message similar to this one is logged shortly after the application starts
2023-08-31 15:47:24 -0400 - [ERROR] initialize keystore error, SAML B2 could not start up properly - invalid stream header: <hexadecimal numbers>
at blackboard.auth.provider.saml.util.ObjectParser.decode(ObjectParser.java:39)
at blackboard.auth.provider.saml.key.KeyStoreFactory.parse(KeyStoreFactory.java:128)
at blackboard.auth.provider.saml.key.KeyStoreFactory.initializeKeyStore(KeyStoreFactory.java:248)
at blackboard.auth.provider.saml.key.KeyStoreFactory.initialize(KeyStoreFactory.java:233)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)Steps to Replicate
Login as System Administrator
go to System Admin ➔ Authentication
open the Create Provider dropdown menu
Expected Behaviour
SAML is listed
Observed Behaviour
SAML is not listed.
Cause
This is unresolved "residue" of an old issue that could happen on older versions of Java when creating symmetric encryption keys.
Resolution / Workaround
Contact Blackboard Support for a Workaround for this issue.
Affected Versions
Learn 3900.65.0
Learn 3900.67.0
Learn 3900.69.0
Learn 3900.71.0
Learn 3900.74.0
Target Release
Will Not Fix
Information
This is a very old issue and occurs if — the very first time, ever — that the SAML b2 starts up invalid cryptographic key material was written in the database. Due to technical restrictions detecting that this key material is corrupt before the SAML B2 starts is very hard. It is best to resolve this issue manually and a general fix was not then and will not now be issued. Customers that complained of the issue at the time were manually fixed and the KB article for the original iteration of this problem was eventually archived and is no longer available.
However, this new article has been published because the prominence of this issue recently increased due the deprecation of Custom Building Blocks as outlined in KB № 00075625 Building Block Support Bulletin. A few longtime customers relying on custom B2s for authentication discovered this issue after they began migration to SAML as encouraged. This is not a new incidence or regression of the issue, they'd been affected all along yet never had any cause to notice it.
