/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* Copyright (c) 2013, MPL CodeInside http://codeinside.ru
*/
package ru.codeinside.gws.crypto.cryptopro;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import ru.codeinside.gws.api.VerifyResult;
import javax.xml.soap.SOAPMessage;
public class VerifyTest extends Assert {
@Test
public void verify_bad() throws Exception {
SOAPMessage soap = R.getSoapResource("message.xml");
final VerifyResult result = R.provider.verify(soap);
assertNull(result.actor);
assertEquals("ЭЦП ИС: отсутствует", result.error);
}
@Test
public void verify_changed() throws Exception {
SOAPMessage soap = R.getSoapResource("smev-1.xml");
final VerifyResult result = R.provider.verify(soap);
assertNotNull(result.actor);
assertEquals("Подпись не прошла проверку!", result.error);
}
@Test
public void verify_ok() throws Exception {
SOAPMessage soap = R.getSoapResource("smev-2.xml");
final VerifyResult result = R.provider.verify(soap);
assertNotNull(result.actor);
assertNull("Нет искажений", result.error);
assertEquals(
"CN=КСПГМУ PNZ1, O=Управление информатизации Пензенской области, L=Пенза, ST=58 Пензенская область, C=RU, OID.1.2.643.3.131.1.1=5836013428, OID.1.2.643.100.1=1065836010778",
result.actor.getSubjectDN().toString());
assertNull(result.recipient);
}
@Test @Ignore
public void verify_smev() throws Exception {
SOAPMessage soap = R.getSoapResource("smev-3.xml");
final VerifyResult result = R.provider.verify(soap);
assertNull("Обнаружились искажения " + result.error, result.error);
assertNotNull(result.actor);
assertEquals(
"SERIALNUMBER=00000000001, CN=СМЭВ_тест, OU=ФПД, O=ЗАО ЭйТи Консалтинг, L=Москва, ST=Москва, C=RU",
result.recipient.getSubjectDN().toString());
assertEquals(
"T=0, STREET=ул. Воронцово поле д. 4а, CN=Росреестр, OU=Центральный аппарат, O=Росреестр, L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=foiv@rosreestr.ru, OID.1.2.643.3.131.1.1=#120C303037373036353630353336, OID.1.2.643.100.1=#120D31303237373030313233323038",
result.actor.getSubjectDN().toString());
}
@Test
public void verifyCertDateExpired() throws Exception {
SOAPMessage soap = R.getSoapResource("rr/response1.xml");
final VerifyResult result = R.provider.verify(soap);
assertEquals("Нет искажений", "Сертификат подписи не действителен", result.error);
assertEquals("Нет роутера", null, result.recipient);
assertEquals(
"T=0, STREET=ул. Воронцово поле д. 4а, CN=Росреестр, OU=Центральный аппарат, O=Росреестр, L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=foiv@rosreestr.ru, OID.1.2.643.3.131.1.1=#120C303037373036353630353336, OID.1.2.643.100.1=#120D31303237373030313233323038",
result.actor.getSubjectDN().toString());
}
@Test @Ignore
public void verifySmevResponseWithValidSignValue() throws Exception {
SOAPMessage soap = R.getSoapResource("rr/response.xml");
final VerifyResult result = R.provider.verify(soap);
assertEquals("Нет искажений", "Сертификат подписи не действителен", result.error);
assertEquals("Нет роутера", null, result.recipient);
assertEquals(
"T=0, STREET=ул. Воронцово поле д. 4а, CN=Росреестр, OU=Центральный аппарат, O=Росреестр, L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=foiv@rosreestr.ru, OID.1.2.643.3.131.1.1=#120C303037373036353630353336, OID.1.2.643.100.1=#120D31303237373030313233323038",
result.actor.getSubjectDN().toString());
}
}