Приветствую!
Есть цель - протестировать веб-сервис ЭЛН ФСС и получить зашифрованный ответ от сервиса.
Дальше этого ответа продвинуться не удалось:
"ru.ibs.cryptoprto.jcp.wrapper.eln.ws.client.generated.CryptoException_Exception: Не удалось расшифровать сообщение. Возможно сообщение зашифровано на ключе отличном от ключа уполномоченного лица ФСС. Проверьте правильность и актуальность ключа уполномоченного лица ФСС." Более того, закончились идеи - что может быть не так?
Изучены наверное все ветки форума и документация. Не пойму в какую сторону "копать", где может быть ошибка?
Вижу, что у многих получилось, используя код из samples-sources\xmlSign\CryptXML.java
Также использовал код оттуда + что-то подсмотрено у форумчан.
Прошу посмотреть часть кода для шифрования.
Код в черновом варианте. В данный момент этот код нужен только для шифрования и получения данных
<xenc:CipherValue>:
Код: public static void main(String[] args) throws Exception {
String certificate = "C:\\Users\\Oleg\\eclipse-workspace\\eln\\Certificate\\FSS_TEST_CERT_2020_GOST2012.cer";
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
FileInputStream inStream = new FileInputStream(certificate);
final X509Certificate cert = (X509Certificate) certificateFactory.generateCertificate(inStream);
ru.CryptoPro.JCPxml.XmlInit.init();
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage message = mf.createMessage();
SOAPPart soapPart = message.getSOAPPart();
FileInputStream is = new FileInputStream("C:\\Users\\Oleg\\eclipse-workspace\\eln\\XML\\signedMessage.xml");
soapPart.setContent(new StreamSource(is));
Document doc = message.getSOAPPart().getEnvelope().getOwnerDocument();
// Создание случайного сессионного ключа.
final KeyGenerator kg = KeyGenerator.getInstance("GOST28147");
if (cert != null && cert.getPublicKey().getAlgorithm().equals(GOST_EL_2012_256_NAME)
|| cert.getPublicKey().getAlgorithm().equals(GOST_EL_2012_512_NAME)) {
CryptParamsSpec spec = CryptParamsSpec.getInstance(CryptParamsSpec.Rosstandart_TC26_Z);
kg.init(spec);
}
final SecretKey sessionKey = kg.generateKey();
//Зашифрование сессионного ключа.EncryptedKey
EncryptedKey encryptedKey = wrapKey(doc, sessionKey, cert);
//зашифрование документа
Element element = doc.getDocumentElement();
XMLCipher xmlCipher = XMLCipher.getInstance(Consts.URI_GOST_CIPHER);
xmlCipher.init(XMLCipher.ENCRYPT_MODE, sessionKey);
// добавляем шифрованный ключ.
EncryptedData encryptedData = xmlCipher.getEncryptedData();
KeyInfo keyInfo = new KeyInfo(doc);
keyInfo.add(encryptedKey);
encryptedData.setKeyInfo(keyInfo);
//зашифрование документа
xmlCipher.doFinal(doc, element, false);
is.close();
inStream.close();
//запись результата в файл
Writer out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(new File("C:\\Users\\Oleg\\encryptRequestLatest.xml"), true), StandardCharsets.UTF_8));
out.write(documentToString(doc));
out.flush();
out.close();
}
/**
* зашифрование сессионного ключа sessionKey и создание
* EncryptedKey с сертификатом.
*
* @param doc xml документ
* @param sessionKey случайный сессионный ключ.
* @param cert сертификат
* @return зашифрованный ключ
* @throws Exception ошибки шифрования
*/
private static EncryptedKey wrapKey(Document doc, SecretKey sessionKey, X509Certificate cert) throws Exception {
XMLCipher keyCipher = XMLCipher.getInstance(Consts.URI_GOST_TRANSPORT_GOST_2012_256);
keyCipher.init(XMLCipher.WRAP_MODE, cert.getPublicKey());
//создание KeyInfo с сертификатом
KeyInfo certKeyInfo = new KeyInfo(doc);
X509Data x509data = new X509Data(doc);
x509data.addCertificate(cert);
certKeyInfo.add(x509data);
// зашифрование ключа
EncryptedKey encryptedKey = keyCipher.encryptKey(doc, sessionKey);
encryptedKey.setKeyInfo(certKeyInfo);
return encryptedKey;
}
В результате получаю:
Код:<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147"/>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:EncryptionMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2012-256"/>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIIJcTCCCRygAwIBAgIQAdV4RMhCEaAAAAFHA+gAAjAMBggqhQMHAQEDAgUAMIIB2DEYMBYGBSqF A2QBEg0xMDI3NzM5NDQzMjM2MT0wOwYDVQQJDDTQntGA0LvQuNC60L7QsiDQv9C10YDQtdGD0LvQ vtC6LCDQtC4gMywg0LrQvtGA0L8uINCQMRowGAYIKoUDA4EDAQESDDAwNzczNjA1NjY0NzELMAkG A1UEBhMCUlUxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAxGDAWBgNVBAgMDzc3INCc0L7RgdC6 0LLQsDEdMBsGCSqGSIb3DQEJARYOaW5mby11Y0Bmc3MucnUxZzBlBgNVBAoMXtCk0L7QvdC0INGB 0L7RhtC40LDQu9GM0L3QvtCz0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC40LnR gdC60L7QuSDQpNC10LTQtdGA0LDRhtC40LgxLjAsBgNVBAsMJdCm0LXQvdGC0YDQsNC70YzQvdGL 0Lkg0LDQv9C/0LDRgNCw0YIxZzBlBgNVBAMMXtCk0L7QvdC0INGB0L7RhtC40LDQu9GM0L3QvtCz 0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC40LnRgdC60L7QuSDQpNC10LTQtdGA 0LDRhtC40LgwHhcNMTkxMDAxMTA0MzAwWhcNMjEwMTAxMTA0MzAwWjCCAbkxGjAYBggqhQMDgQMB ARIMMDA3NzM2MDU2NjQ3MRgwFgYFKoUDZAESDTEwMjc3Mzk0NDMyMzYxLjAsBgNVBAsMJdCm0LXQ vdGC0YDQsNC70YzQvdGL0Lkg0LDQv9C/0LDRgNCw0YIxZzBlBgNVBAoMXtCk0L7QvdC0INGB0L7R htC40LDQu9GM0L3QvtCz0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC40LnRgdC6 0L7QuSDQpNC10LTQtdGA0LDRhtC40LgxPTA7BgNVBAkMNNCe0YDQu9C40LrQvtCyINC/0LXRgNC1 0YPQu9C+0LosINC0LiAzLCDQutC+0YDQvy4g0JAxGTAXBgNVBAcMENCzLiDQnNC+0YHQutCy0LAx GDAWBgNVBAgMDzc3INCc0L7RgdC60LLQsDELMAkGA1UEBhMCUlUxZzBlBgNVBAMMXtCk0L7QvdC0 INGB0L7RhtC40LDQu9GM0L3QvtCz0L4g0YHRgtGA0LDRhdC+0LLQsNC90LjRjyDQoNC+0YHRgdC4 0LnRgdC60L7QuSDQpNC10LTQtdGA0LDRhtC40LgwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggq hQMHAQECAgNDAARAWE547ZGPxMp9MQeDCwvQyicAobxGamrrqzOFpabdEeDE3YGrQPjAIcTLp76E AAbvZV+u4XjjOXfrpMiwh5hiI4EJADAzRTgwMDAyo4IExzCCBMMwDgYDVR0PAQH/BAQDAgPYMB0G A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAnBgNVHSAEIDAeMAgGBiqFA2RxATAIBgYqhQNk cQIwCAYGKoUDZHEDMDIGBSqFA2RvBCkMJ9Ca0YDQuNC/0YLQvtCf0YDQviBDU1Ag0LLQtdGA0YHQ uNGPIDQuMDCCAaAGBSqFA2RwBIIBlTCCAZEMb9Ch0YDQtdC00YHRgtCy0L4g0LrRgNC40L/RgtC+ 0LPRgNCw0YTQuNGH0LXRgdC60L7QuSDQt9Cw0YnQuNGC0Ysg0LjQvdGE0L7RgNC80LDRhtC40Lgg KNCh0JrQl9CYKSAiVmlQTmV0IENTUCA0Igxa0J/RgNC+0LPRgNCw0LzQvNC90YvQuSDQutC+0LzQ v9C70LXQutGBICJWaVBOZXQg0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGA IDQiDFzQl9Cw0LrQu9GO0YfQtdC90LjQtSDQviDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lgg4oSW IDE0OS8zLzIvMi0yMDUyINC+0YIgMjkuMDEuMjAxNCDQs9C+0LTQsAxk0KHQtdGA0YLQuNGE0LjQ utCw0YIg0YHQvtC+0YLQstC10YLRgdGC0LLQuNGPIOKEliDQodCkLzEyOC0yOTMyINC+0YIgMTAg 0LDQstCz0YPRgdGC0LAgMjAxNiDQs9C+0LTQsDAMBgNVHRMBAf8EAjAAMH8GCCsGAQUFBwEBBHMw cTBvBggrBgEFBQcwAoZjaHR0cDovL2UtdHJ1c3QuZ29zdXNsdWdpLnJ1L1NoYXJlZC9Eb3dubG9h ZENlcnQ/dGh1bWJwcmludD1CNjIzMDRCMTU0Qjk2NTk5MUYwMkQ0OThBM0UyN0M4M0YxMkE1RkMz MDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9mc3MucnUvdWMvR1VDX0ZTU19SRl8yMDE5LmNybDCC AWAGA1UdIwSCAVcwggFTgBSVVLlVMbdsssTrKkJyGP7xZnjflqGCASykggEoMIIBJDEeMBwGCSqG SIb3DQEJARYPZGl0QG1pbnN2eWF6LnJ1MQswCQYDVQQGEwJSVTEYMBYGA1UECAwPNzcg0JzQvtGB 0LrQstCwMRkwFwYDVQQHDBDQsy4g0JzQvtGB0LrQstCwMS4wLAYDVQQJDCXRg9C70LjRhtCwINCi 0LLQtdGA0YHQutCw0Y8sINC00L7QvCA3MSwwKgYDVQQKDCPQnNC40L3QutC+0LzRgdCy0Y/Qt9GM INCg0L7RgdGB0LjQuDEYMBYGBSqFA2QBEg0xMDQ3NzAyMDI2NzAxMRowGAYIKoUDA4EDAQESDDAw NzcxMDQ3NDM3NTEsMCoGA1UEAwwj0JzQuNC90LrQvtC80YHQstGP0LfRjCDQoNC+0YHRgdC40LiC CwC1RWhKAAAAAAGfMCsGA1UdEAQkMCKADzIwMTkxMDAxMTA0MzAwWoEPMjAyMDEwMDExMDQzMDBa MBsGA1UdEQQUMBKBEGcucHJ5YW1vdkBmc3MucnUwHQYDVR0OBBYEFAryzW2jdIM8hWYyJf12iPSn N5iRMAwGCCqFAwcBAQMCBQADQQChumRyc4IqrADZN9NGvJBAYeEspDEMx06Gth6HvJMDAnaeps7I O5h39pPIcDKc5agj316WPHpHmkzG78i+U/RU
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>
MIGpMCgEINAoG9JhsNuXZ1XmniL0kgVelgAIGFq7UJR5N3bEy3h/BASxhYRmoH0GCSqFAwcBAgUB AaBmMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABECQTBPVfpBO+t3iO92i2czz Gs2xnf0FkKBGA3wXIJSOfhJkJGvFfcl4wH19UPRsNZ022+LPEmaKbDfDDXsyKwmjBAgLkUo9/6Kk BA==
</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>
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
</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
Из этого XML вручную вытаскиваю только данные из двух
<xenc:CipherValue> и
urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2012-256. В
<ds:X509Certificate> мой сертификат. Но, как я понимаю, в контексте моей проблемы корректность моего сертификата не имеет значение, т.к. сервис ругается именно на данные из
<xenc:CipherValue>. Вставляю эти данные в готовый шаблон - это и будет запрос, который отправляю на сервис:
Код:<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
</soapenv:Header>
<soapenv:Body>
<xenc:EncryptedData
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
Type="http://www.w3.org/2001/04/xmlenc#Content"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:sch="http://gost34.ibs.ru/WrapperService/Schema"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<xenc:EncryptionMethod
Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147" />
<ds:KeyInfo>
<xenc:EncryptedKey
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:EncryptionMethod
Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2012-256" />
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>TUlJRG5UQ0NBMHlnQXdJQkFnSVRFZ0JESEEzSzBEcmZlNmZTWlFBQkFFTWNEVEFJQmdZcWhRTUNBZ013ZnpFag0KTUNFR0NTcUdTSWIzRFFFSkFSWVVjM1Z3Y0c5eWRFQmpjbmx3ZEc5d2NtOHVjblV4Q3pBSkJnTlZCQVlUQWxKVg0KTVE4d0RRWURWUVFIRXdaTmIzTmpiM2N4RnpBVkJnTlZCQW9URGtOU1dWQlVUeTFRVWs4Z1RFeERNU0V3SHdZRA0KVlFRREV4aERVbGxRVkU4dFVGSlBJRlJsYzNRZ1EyVnVkR1Z5SURJd0hoY05NakF3TkRBNE1Ea3lNRFV4V2hjTg0KTWpBd056QTRNRGt6TURVeFdqQ0JvakV3TUM0R0NTcUdTSWIzRFFFSkFSWWhabkp2Ykc5MmIyeGxaM1pzWVdScA0KYldseWIzWnBZMmhBWjIxaGFXd3VZMjl0TVJFd0R3WURWUVFEREFqUW50QzcwTFhRc3pFTk1Bc0dBMVVFQ3d3RQ0KZEdWemRERVJNQThHQTFVRUNnd0lkR1Z6ZEM1dmNtY3hGVEFUQmdOVkJBY01ETkNjMEw3UmdkQzYwTExRc0RFVg0KTUJNR0ExVUVDQXdNMEp6UXZ0R0IwTHJRc3RDd01Rc3dDUVlEVlFRR0V3SlNWVEJtTUI4R0NDcUZBd2NCQVFFQg0KTUJNR0J5cUZBd0lDSkFBR0NDcUZBd2NCQVFJQ0EwTUFCRUNWMXR4eENIUDh5b1JyZkIzQUp0V3UvVUxMYW9DaQ0KMElzQ1JRSE9OMnozU2lpQWZDQnZhb044blZScW4xZVVqYlpONng3QktPamhrYVB1V3ZOUEZQMVlvNElCZGpDQw0KQVhJd0RnWURWUjBQQVFIL0JBUURBZ1R3TUJNR0ExVWRKUVFNTUFvR0NDc0dBUVVGQndNQ01CMEdBMVVkRGdRVw0KQkJSWW1QeVRnb1Z3YlIyTGtKMHg2bDY5cElySmRUQWZCZ05WSFNNRUdEQVdnQlJPZ3o0VWFlL3NYWHFWSzE4Ug0KL2pjeUZrbFZLekJjQmdOVkhSOEVWVEJUTUZHZ1Q2Qk5oa3RvZEhSd09pOHZkR1Z6ZEdOaExtTnllWEIwYjNCeQ0KYnk1eWRTOURaWEowUlc1eWIyeHNMME5TV1ZCVVR5MVFVazhsTWpCVVpYTjBKVEl3UTJWdWRHVnlKVEl3TWlneA0KS1M1amNtd3dnYXdHQ0NzR0FRVUZCd0VCQklHZk1JR2NNR1FHQ0NzR0FRVUZCekFDaGxob2RIUndPaTh2ZEdWeg0KZEdOaExtTnllWEIwYjNCeWJ5NXlkUzlEWlhKMFJXNXliMnhzTDNSbGMzUXRZMkV0TWpBeE5GOURVbGxRVkU4dA0KVUZKUEpUSXdWR1Z6ZENVeU1FTmxiblJsY2lVeU1ESW9NU2t1WTNKME1EUUdDQ3NHQVFVRkJ6QUJoaWhvZEhSdw0KT2k4dmRHVnpkR05oTG1OeWVYQjBiM0J5Ynk1eWRTOXZZM053TDI5amMzQXVjM0ptTUFnR0JpcUZBd0lDQXdOQg0KQU81ajQ0MWhnNGllQXh5eUpFYU03U08wYzBpY0psYUFObTlGQnM0MElFUS9kdHJxRGswMHh0MVF1VVp0YmVLRA0KS1RHRS8vVkJmUHc0d3c3Ung3djkxL009DQo=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>MIGpMCgEINAoG9JhsNuXZ1XmniL0kgVelgAIGFq7UJR5N3bEy3h/BASxhYRmoH0GCSqFAwcBAgUB
AaBmMB8GCCqFAwcBAQEBMBMGByqFAwICJAAGCCqFAwcBAQICA0MABECQTBPVfpBO+t3iO92i2czz
Gs2xnf0FkKBGA3wXIJSOfhJkJGvFfcl4wH19UPRsNZ022+LPEmaKbDfDDXsyKwmjBAgLkUo9/6Kk
BA==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>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</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</soapenv:Body>
</soapenv:Envelope>
Используемые продукты:КриптоПро CSP 5.0.11729 КС1
КриптоПро JCP v.2.0, rel.2.0.40502
jdk-8.0.242.08-hotspot (AdoptOpenJDK)
Windows 7 32-bit
Запрос отправляется на тестовый контур ФСС ЭЛН:
https://docs-test.fss.ru...v11/FileOperationsLnPortОтмечу моменты, которые могли бы являться причиной проблемы:
1) При запуске
JCP_ControlPane в командной строке получаю стек предупреждений:
"java.util.prefs.WindowsPreferences openKey WARNING: Could not open windows registry node Software\JavaSoft\Prefs\ru\/Crypto/Pro\ssl at root 0x80000002. Windows RegOpenKey(...) returned error code 5." и в конце две ошибки log4cplus:
"ERROR No appenders could be found for logger (DSL)"
"ERROR Please initialize the log4cplus system properly"При этом "Настройки КриптоПро JCP" запускается, вот только те же параметры во вкладке Алгоритмы не активны - поменять что-то нельзя.
2) При запуске представленного выше кода из метода main получаю предупреждения в консоли:
Код:апр 14, 2020 9:58:56 AM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 2.0.40502
апр 14, 2020 9:58:56 AM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
апр 14, 2020 9:58:56 AM org.apache.xml.security.encryption.XMLCipher validateTransformation
WARNING: Algorithm non-standard, expected one of http://www.w3.org/2001/04/xmlenc#tripledes-cbc
http://www.w3.org/2001/04/xmlenc#aes128-cbc
http://www.w3.org/2001/04/xmlenc#aes256-cbc
http://www.w3.org/2001/04/xmlenc#aes192-cbc
http://www.w3.org/2001/04/xmlenc#rsa-1_5
http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
http://www.w3.org/2009/xmlenc11#rsa-oaep
http://www.w3.org/2001/04/xmlenc#kw-tripledes
http://www.w3.org/2001/04/xmlenc#kw-aes128
http://www.w3.org/2001/04/xmlenc#kw-aes256
http://www.w3.org/2001/04/xmlenc#kw-aes192
http://www.w3.org/2009/xmlenc11#aes128-gcm
http://www.w3.org/2009/xmlenc11#aes192-gcm
http://www.w3.org/2009/xmlenc11#aes256-gcm