} else if (referenceType.equals("Identifier")) {
BinarySecurityToken bst = createBinarySecurityToken(binding, binding.getX509Certificate());
buildKeyInfoWithKI(binding, MessageConstants.X509SubjectKeyIdentifier_NS);
try {
if (binding.getSTRID() != null) {
SecurityElement bsToken = elementFactory.createBinarySecurityToken(null, binding.getX509Certificate().getEncoded());
SSEData data = new SSEData(bsToken, false, context.getNamespaceContext());
context.getSTRTransformCache().put(binding.getSTRID(), data);
}
} catch (CertificateEncodingException ce) {
logger.log(Level.SEVERE, LogStringsMessages.WSS_1814_ERROR_ENCODING_CERTIFICATE(), ce);
throw new XWSSecurityException(LogStringsMessages.WSS_1814_ERROR_ENCODING_CERTIFICATE(), ce);
}
} else if (referenceType.equals(MessageConstants.THUMB_PRINT_TYPE)) {
BinarySecurityToken bst = createBinarySecurityToken(binding, binding.getX509Certificate());
KeyIdentifier ki = buildKeyInfoWithKI(binding, MessageConstants.ThumbPrintIdentifier_NS);
try {
if (binding.getSTRID() != null) {
SecurityElement bsToken = elementFactory.createBinarySecurityToken(null, binding.getX509Certificate().getEncoded());
SSEData data = new SSEData(bsToken, false, context.getNamespaceContext());
context.getSTRTransformCache().put(binding.getSTRID(), data);
}
} catch (CertificateEncodingException ce) {
logger.log(Level.SEVERE, LogStringsMessages.WSS_1814_ERROR_ENCODING_CERTIFICATE(), ce);
throw new XWSSecurityException(LogStringsMessages.WSS_1814_ERROR_ENCODING_CERTIFICATE(), ce);
}
} else if (referenceType.equals(MessageConstants.X509_ISSUER_TYPE)) {
BinarySecurityToken bst = createBinarySecurityToken(binding, binding.getX509Certificate());
X509Certificate xCert = binding.getX509Certificate();
X509IssuerSerial xis = elementFactory.createX509IssuerSerial(xCert.getIssuerDN().getName(), xCert.getSerialNumber());
X509Data x509Data = elementFactory.createX509DataWithIssuerSerial(xis);
buildKeyInfo(x509Data, binding.getSTRID());
try {
if (binding.getSTRID() != null) {
SecurityElement bsToken = elementFactory.createBinarySecurityToken(null, binding.getX509Certificate().getEncoded());
SSEData data = new SSEData(bsToken, false, context.getNamespaceContext());
context.getSTRTransformCache().put(binding.getSTRID(), data);
}
} catch (CertificateEncodingException ce) {
logger.log(Level.SEVERE, LogStringsMessages.WSS_1814_ERROR_ENCODING_CERTIFICATE(), ce);