Description
Signing a message with X509Token keyReferenceType="Identifier" fails with the following exception.
keyReferenceType="IssuerSerialNumber" is fine as well as keyReferenceType="Direct".
Error
java.lang.IllegalAccessError: class com.sun.wsit.security.SunKeyIdentifierSPI (in unnamed module @0x6737fd8f) cannot access class sun.security.util.DerValue (in module java.base) because module java.base does not export sun.security.util to unnamed module @0x6737fd8f at com.sun.wsit.security.SunKeyIdentifierSPI.getSubjectKeyIdentifier(SunKeyIdentifierSPI.java:34) at com.sun.xml.wss.core.reference.X509SubjectKeyIdentifier.getSubjectKeyIdentifier(X509SubjectKeyIdentifier.java:83) at com.sun.xml.wss.impl.keyinfo.KeyIdentifierStrategy.getKeyIdentifier(KeyIdentifierStrategy.java:134) at com.sun.xml.wss.impl.keyinfo.KeyIdentifierStrategy.insertKey(KeyIdentifierStrategy.java:87) at com.sun.xml.wss.impl.dsig.SignatureProcessor.handleX509Binding(SignatureProcessor.java:1968) at com.sun.xml.wss.impl.dsig.SignatureProcessor.sign(SignatureProcessor.java:411) at com.sun.xml.wss.impl.filter.SignatureFilter.sign(SignatureFilter.java:621) at com.sun.xml.wss.impl.filter.SignatureFilter.process(SignatureFilter.java:578) at com.sun.xml.wss.impl.HarnessUtil.processWSSPolicy(HarnessUtil.java:69) at com.sun.xml.wss.impl.HarnessUtil.processDeep(HarnessUtil.java:248) at com.sun.xml.wss.impl.SecurityAnnotator.processMessagePolicy(SecurityAnnotator.java:164) at com.sun.xml.wss.impl.SecurityAnnotator.secureMessage(SecurityAnnotator.java:125) at com.sun.xml.wss.impl.misc.XWSSProcessor2_0Impl.secureOutboundMessage(XWSSProcessor2_0Impl.java:82)
Java Version
❯ java -version java version "17" 2021-09-14 LTS Java(TM) SE Runtime Environment (build 17+35-LTS-2724) Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)