Я совершенно новый для SAML, я просто создаю saml, но для каждого требования мне также нужно добавить узлы сертификатов KeyInfo и x509, включая публичный сертификат клиента, я использовал ниже кода для генерации элемента подписи, но не знаю, как добавить KeyInfo & X509Data внутри подписи. нужна помощь в этом?Как добавить KeyInfo & X509Data под Signature в SAML 2.0 с помощью Java
BasicX509Credential signingCredential = new BasicX509Credential();
//Namespace nameSpaceSAML = new Namespace("http://www.w3.org/2000/09/xmldsig#","ds");
KeyStore keyStore = getKeyStore(signingKeyStorePath,signingKeyStorePassword);
PrivateKey privateKey = getPrivateKey(keyStore,signingKeyalias,signingKeyStorePassword);
signingCredential.setPrivateKey(privateKey);
signature = (Signature) Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME).buildObject(Signature.DEFAULT_ELEMENT_NAME);
signature.setSigningCredential(signingCredential);
signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
Спасибо @Stefan, это сработало. Я также ищу, что приведенные ниже элементы являются частью, но не могут получить информацию об этом. ' CN = VeriSign Класс 3 Secure Server CA - G3, OU = Условия использования на https://www.verisign.com/rpa (c) 10, OU = VeriSign Trust Network, O = «VeriSign, Inc.», C = US X509IssuerName> 147750819997667206557338217414016145916 X509SerialNumber> X509IssuerSerial> 'Можете ли вы пожалуйста, помогите мне, как добавить этот дополнительный элемент. –
Rakesh
Обновлен ответ. Удачи! –
bravo !. пытался с нескольких дней. отлично работает –