Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

6 Страницы«<3456>
Опции
К последнему сообщению К первому непрочитанному
Offline PashaTechnique  
#41 Оставлено : 16 августа 2019 г. 10:37:02(UTC)
PashaTechnique

Статус: Активный участник

Группы: Участники
Зарегистрирован: 25.07.2019(UTC)
Сообщений: 31
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Автор: two_oceans Перейти к цитате
Автор: PashaTechnique Перейти к цитате
Есть какие-то соображения, что я делаю не так, может сертификат который я скачал от них вообще не действителен. Я как понимаю проблема в нем же, а не в сертификате выданном Crypto Pro.
В той теме про делфи ,указывали что есть вид алгоритма EL_2012, а есть DH_2012. Может в этом дело?
Сертификат, который от них, используется для шифрования, к подписи вообще никаким боком. Ответы, которые приходят на запрос, также были верно подписаны их сертификатом; Ваши запросы тоже подписаны математически корректной подписью. Не вижу ошибок в алгоритме.

Это техподдержка при переделке Вашего запроса на верный по их мнению чего-то накосячили с подписью (если уж они подписали, то должны заменить сертификат) возможно сверх этого документ исказился при пересылке/копировании. Если бы не стоял их огрн в ссылке на сертификат, то я бы подумал что это Ваша подпись неизмененного документа просто сюда скопировали в качестве исходного документ не тот который отправляли им. Но раз там заменен огрн в ссылке на сертификат, а в Вашем сообщении огрн не заменен, то они сами чего-то мутили с подписью.

Про искажение копирования - в идеале не должно быть в документе отступов табуляциями или лишних переводов строк, это потому что символы перевода строк и табуляции можно каноникализировать по-разному и получать разный хэш. По крайней мере, в подписываемых частях (Body и SignedInfo с вложенными тегами). Исказить мог форум если выбрали не ту разметку.
Автор: two_oceans Перейти к цитате
Как получить нужный префикс в объекте SOAP... набросать минимальный шаблон соап в файле или тестовой переменной (с нужным префиксом):
Код:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header/><soapenv:Body/></soapenv:Envelope>
и загрузить содержимое файла в объект SOAP, добавить нужную структуру запроса (включая остальные пространства имен Envelope), подписать. Версию xml и кодировку можно просто дописать в начало текста перед отправкой (если сделать аккуратно, подпись не нарушится). Однако скорее всего есть параметр добавлять ли версию и кодировку при формировании текста/стрима из объекта SOAP.
По такой схеме пробовали? Что получилось (запрос, описание результата в их ответе)? Если сформированное Вами по их указаниям сообщение проходит проверку другими средствами и не проходит проверку у них, пусть еще раз пояснят.


Dancing БРАТУХА ТЫ ЛУЧШИЙ, КРУЖКУ ЭЛЯ ЭТОМУ ГОСПОДИНУ!!! Dancing

<ns1:REQUEST_ID>LNNUMMO_1025401011833_2019_08_16_00014</ns1:REQUEST_ID><ns1:STATUS>1</ns1:STATUS><ns1:MESS>OK</ns1:MESS><ns1:DATA>900000353482</ns1:DATA>
Offline Oleg Frolov  
#42 Оставлено : 14 апреля 2020 г. 11:02:10(UTC)
Oleg Frolov

Статус: Участник

Группы: Участники
Зарегистрирован: 12.04.2020(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 6 раз
Приветствую!

Есть цель - протестировать веб-сервис ЭЛН ФСС и получить зашифрованный ответ от сервиса.

Дальше этого ответа продвинуться не удалось: "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



Offline two_oceans  
#43 Оставлено : 14 апреля 2020 г. 13:23:04(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
В одном документе
xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Content"
в другом
xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
Это должно натолкнуть на мысль что нельзя пересаживать данные из одного в другой.
thanks 1 пользователь поблагодарил two_oceans за этот пост.
Oleg Frolov оставлено 15.04.2020(UTC)
Offline Oleg Frolov  
#44 Оставлено : 14 апреля 2020 г. 13:53:16(UTC)
Oleg Frolov

Статус: Участник

Группы: Участники
Зарегистрирован: 12.04.2020(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 6 раз
Автор: two_oceans Перейти к цитате
В одном документе
xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Content"
в другом
xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
Это должно натолкнуть на мысль что нельзя пересаживать данные из одного в другой.


Действительно, на это не обратил внимание. Но пересаживаю только данные из <xenc:CipherValue>, остальное не трогаю. В шаблоне ФСС xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Content" - в моем итоговом запросе также. Или это все-равно может влиять на результат?
Offline two_oceans  
#45 Оставлено : 15 апреля 2020 г. 5:20:01(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
Автор: Oleg Frolov Перейти к цитате
Автор: two_oceans Перейти к цитате
В одном документе
xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Content"
в другом
xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
Это должно натолкнуть на мысль что нельзя пересаживать данные из одного в другой.
Действительно, на это не обратил внимание. Но пересаживаю только данные из <xenc:CipherValue>, остальное не трогаю. В шаблоне ФСС xenc:EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Content" - в моем итоговом запросе также. Или это все-равно может влиять на результат?
1) xenc:EncryptedData родительский тег для всех остальных значений, поэтому значение атрибута Type в нем влияет на способ расшифровки данных. Простое переименование не изменит суть способа, который использовался в полученных данных, только навредит. Вам нужно изменить код чтобы изначально получить в документе, из которого пересаживаете такое же значение Type - иначе при расшифровке будет использован другой способ чем использовали при шифровании и Вы получите ошибку. Ранее Вы писали что просмотрели все темы на форуме, но наверно пропустили тему, где была исправлена именно такая проблема с неверным способом шифрования. В идеале вообще обойтись без пересадок - при работе со строками могут быть неприятные и незаметные невооруженным глазом "сюрпризы" (непечатные символы) в итоговом документе.

2) пересмотрел, содержимое ds:X509Certificate не является сертификатом в кодировке base64. Сертификат уже был в base64, но Вы его перекодировали "еще разок", что не идет на пользу расшифрованию. В норме большинство сертификатов начинается с буквы M..... в base64, у Вас первая буква T.

Отредактировано пользователем 15 апреля 2020 г. 5:34:36(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил two_oceans за этот пост.
Oleg Frolov оставлено 15.04.2020(UTC)
Offline Oleg Frolov  
#46 Оставлено : 15 апреля 2020 г. 9:41:23(UTC)
Oleg Frolov

Статус: Участник

Группы: Участники
Зарегистрирован: 12.04.2020(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 6 раз
two_oceans, спасибо вам за ценные советы! Действительно, проблема была именно в этом.
Offline akrtkv  
#47 Оставлено : 22 апреля 2020 г. 15:12:15(UTC)
akrtkv

Статус: Участник

Группы: Участники
Зарегистрирован: 20.04.2020(UTC)
Сообщений: 14
Российская Федерация

Автор: Oleg Frolov Перейти к цитате
two_oceans, спасибо вам за ценные советы! Действительно, проблема была именно в этом.

Каким образом вы изменили в коде, чтобы type стало content? Предполагаю что эта строчка xmlCipher.doFinal(document, element, true); но дальше у меня падает, когда пытаюсь в soapBody вставить получившийся документ.

Offline Oleg Frolov  
#48 Оставлено : 24 апреля 2020 г. 21:19:33(UTC)
Oleg Frolov

Статус: Участник

Группы: Участники
Зарегистрирован: 12.04.2020(UTC)
Сообщений: 13
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 6 раз
Автор: akrtkv Перейти к цитате
Автор: Oleg Frolov Перейти к цитате
two_oceans, спасибо вам за ценные советы! Действительно, проблема была именно в этом.

Каким образом вы изменили в коде, чтобы type стало content? Предполагаю что эта строчка xmlCipher.doFinal(document, element, true); но дальше у меня падает, когда пытаюсь в soapBody вставить получившийся документ.



Так я написал, что вручную копирую данные в готовый шаблон. В этом шаблоне type уже был content. Шаблон брал из спецификации к сервису. Но так делать не стоит.
Сейчас у меня все работает с type element и xmlCipher.doFinal(doc, element, false);

Можете код показать - посмотрю в чем может быть проблема.
Offline akrtkv  
#49 Оставлено : 24 апреля 2020 г. 21:28:32(UTC)
akrtkv

Статус: Участник

Группы: Участники
Зарегистрирован: 20.04.2020(UTC)
Сообщений: 14
Российская Федерация

Автор: Oleg Frolov Перейти к цитате
Автор: akrtkv Перейти к цитате
Автор: Oleg Frolov Перейти к цитате
two_oceans, спасибо вам за ценные советы! Действительно, проблема была именно в этом.

Каким образом вы изменили в коде, чтобы type стало content? Предполагаю что эта строчка xmlCipher.doFinal(document, element, true); но дальше у меня падает, когда пытаюсь в soapBody вставить получившийся документ.



Так я написал, что вручную копирую данные в готовый шаблон. В этом шаблоне type уже был content. Шаблон брал из спецификации к сервису. Но так делать не стоит.
Сейчас у меня все работает с type element и xmlCipher.doFinal(doc, element, false);

Можете код показать - посмотрю в чем может быть проблема.


А вы на сервере запускаете код? У меня сейчас еще проблема с работой кода на сервере. Создал ветку https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=18006

Offline korka  
#50 Оставлено : 5 мая 2020 г. 9:28:05(UTC)
korka

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.01.2020(UTC)
Сообщений: 6
Российская Федерация

Здравствуйте, подскажите с помощью каких инструментов вы проверяете отправку SOAP сообщений на сервис ФСС с шифрованием данных (https://docs.fss.ru/ws-insurer-crypto-v11/FileOperationsLnPort?WSDL).
Я пытаюсь отправить подписанный и зашифрованный XML файл через расширение для Google Chrome, которое называется Boomerang (SOAP & REST Client) - в ответ получаю "com.sun.xml.messaging.saaj.SOAPExceptionImpl: Unable to create envelope from given source". Может кто-нибудь знает в чем дело и в какую сторону копать?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
6 Страницы«<3456>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.