use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.
the class NHINDAgentTest method testIncomingNormalMessage_incomingNotTrusted_outgoingTrusted_assertMessageNotTrusted.
public void testIncomingNormalMessage_incomingNotTrusted_outgoingTrusted_assertMessageNotTrusted() throws Exception {
// first create the encyrpted message
DefaultNHINDAgent agent = TestUtils.getStockAgent(Arrays.asList(new String[] { "cerner.com" }));
String testMessage = TestUtils.readResource("MultipartMimeMessage.txt");
final OutgoingMessage SMIMEenvMessage = agent.processOutgoing(testMessage);
;
assertNotNull(SMIMEenvMessage);
// now send received the MDN
agent = TestUtils.getStockAgent(Arrays.asList(new String[] { "starugh-stateline.com" }));
DefaultTrustAnchorResolver resolver = (DefaultTrustAnchorResolver) agent.getTrustAnchors();
CertificateResolver mockResolver = mock(CertificateResolver.class);
DefaultTrustAnchorResolver newResolver = new DefaultTrustAnchorResolver(resolver.getOutgoingAnchors(), mockResolver);
agent.setTrustAnchorResolver(newResolver);
IncomingMessage incomingMessage = null;
try {
incomingMessage = agent.processIncoming(SMIMEenvMessage.getMessage());
} catch (NHINDException e) {
assertEquals(TrustError.NoTrustedRecipients, e.getError());
}
assertNull(incomingMessage);
}
use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.
the class LdapCertificateStoreTest method testPublicLdapSearch_orgLevelCert_assertCertExists.
public void testPublicLdapSearch_orgLevelCert_assertCertExists() throws Exception {
addStockPublicLDAPCertificats();
PublicLdapCertificateStoreProvider provider = new PublicLdapCertificateStoreProvider(null, null);
CertificateResolver resolver = provider.get();
Collection<X509Certificate> certs = resolver.getCertificates(new InternetAddress("testdomain.com"));
assertEquals(1, certs.size());
X509Certificate cert = certs.iterator().next();
assertTrue(cert.getSubjectX500Principal().toString().contains("direct.fnhubapp01.qa.medplus.com"));
}
use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.
the class PublicLdapCertifictaeStoreProvider_getResolver_Test method testGetResolverFromProvider.
public void testGetResolverFromProvider() throws Exception {
PublicLdapCertificateStoreProvider provider = new PublicLdapCertificateStoreProvider(null, null);
CertificateResolver resolver = provider.get();
assertNotNull(resolver);
assertTrue(resolver instanceof LDAPCertificateStore);
}
use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.
the class TrustChainValidator_IntermidiateCert_Test method testValidateCertAgainstNonRootCA_CAInPublicResolver_OpenSSLCerts.
public void testValidateCertAgainstNonRootCA_CAInPublicResolver_OpenSSLCerts() throws Exception {
X509Certificate anchor = certFromData(getCertificateFileData("cert-b.der"));
X509Certificate certToValidate = certFromData(getCertificateFileData("cert-a.der"));
// uniform cert store that will just spit out whatever we put in it
// will put the anchor in the public resolver... validator should hit it
CertificateResolver publicResolver = new UniformCertificateStore(anchor);
TrustChainValidator validator = new TrustChainValidator();
validator.setCertificateResolver(Arrays.asList(publicResolver));
boolean isTrusted = false;
try {
isTrusted = validator.isTrusted(certToValidate, Arrays.asList(anchor));
} catch (Exception e) {
}
assertTrue(isTrusted);
}
Aggregations