Search in sources :

Example 1 with CertificateResolver

use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.

the class DefaultNHINDAgent_bindAddressesOutgoingMessageTest method testBindAddresses_singlePrivateCerts_policyFiltered_assertNoBoundPrivateCerts.

public void testBindAddresses_singlePrivateCerts_policyFiltered_assertNoBoundPrivateCerts() throws Exception {
    final X509Certificate cert = mock(X509Certificate.class);
    final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
    when(publicCertResolver.getCertificates((InternetAddress) any())).thenReturn(new ArrayList<X509Certificate>());
    final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
    when(privateCertResolver.getCertificates((InternetAddress) any())).thenReturn(Arrays.asList(cert));
    final DefaultNHINDAgent agent = new DefaultNHINDAgent("Cerner.com", privateCertResolver, publicCertResolver, mock(TrustAnchorResolver.class)) {

        @Override
        protected Collection<X509Certificate> filterCertificatesByPolicy(InternetAddress sender, PolicyResolver resolver, Collection<X509Certificate> certsToFilter, boolean incoming) {
            return Collections.emptyList();
        }
    };
    final OutgoingMessage message = buildOutgoingMessage("MultipartMimeMessage.txt");
    message.setAgent(agent);
    agent.bindAddresses(message);
    assertEquals(0, message.getSender().getCertificates().size());
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) TrustAnchorResolver(org.nhindirect.stagent.trust.TrustAnchorResolver) PolicyResolver(org.nhindirect.stagent.policy.PolicyResolver) Collection(java.util.Collection) CertificateResolver(org.nhindirect.stagent.cert.CertificateResolver) X509Certificate(java.security.cert.X509Certificate)

Example 2 with CertificateResolver

use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.

the class DefaultNHINDAgent_bindAddressesIncomingMessageTest method testBindAddresses_singlePrivateCerts_plicyFiltered_assertNoBoundPrivateCerts.

public void testBindAddresses_singlePrivateCerts_plicyFiltered_assertNoBoundPrivateCerts() throws Exception {
    final X509Certificate cert = mock(X509Certificate.class);
    final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
    when(publicCertResolver.getCertificates((InternetAddress) any())).thenReturn(new ArrayList<X509Certificate>());
    final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
    when(privateCertResolver.getCertificates((InternetAddress) any())).thenReturn(Arrays.asList(cert));
    final DefaultNHINDAgent agent = new DefaultNHINDAgent("starugh-stateline.com", privateCertResolver, publicCertResolver, mock(TrustAnchorResolver.class)) {

        @Override
        protected Collection<X509Certificate> filterCertificatesByPolicy(InternetAddress sender, PolicyResolver resolver, Collection<X509Certificate> certsToFilter, boolean incoming) {
            return Collections.emptyList();
        }
    };
    final IncomingMessage message = buildIncomingMessage("MultipartMimeMessage.txt");
    message.setAgent(agent);
    agent.bindAddresses(message);
    for (NHINDAddress recipient : message.getRecipients()) assertEquals(0, recipient.getCertificates().size());
}
Also used : InternetAddress(javax.mail.internet.InternetAddress) TrustAnchorResolver(org.nhindirect.stagent.trust.TrustAnchorResolver) PolicyResolver(org.nhindirect.stagent.policy.PolicyResolver) Collection(java.util.Collection) CertificateResolver(org.nhindirect.stagent.cert.CertificateResolver) X509Certificate(java.security.cert.X509Certificate)

Example 3 with CertificateResolver

use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.

the class DefaultNHINDAgent_bindAddressesIncomingMessageTest method testBindAddresses_noPrivateCerts_assertNoBoundPrivateCerts.

// PUBLIC CERTS ARE NO LONGER RESOLVED FOR INCOMING MESSAGES
// THEY ARE ALWAYS EXTRACTED FROM THE CERTIFICATE, SO PULBIC RESOLUTION IS REDUNDANT
/*
	public void testBindAddresses_noPublicCerts_assertNoBoundPublicCerts() throws Exception
	{

		
		final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
		when(publicCertResolver.getCertificates((InternetAddress)any())).thenReturn(new ArrayList<X509Certificate>());
		
		final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
		when(privateCertResolver.getCertificates((InternetAddress)any())).thenReturn(new ArrayList<X509Certificate>());
		
		final DefaultNHINDAgent agent = new DefaultNHINDAgent("starugh-stateline.com", privateCertResolver, 
				publicCertResolver, mock(TrustAnchorResolver.class));
		
		final IncomingMessage message = buildIncomingMessage("MultipartMimeMessage.txt");
		message.setAgent(agent);
		
		agent.bindAddresses(message);
		
		assertEquals(0, message.getSender().getCertificates().size());
	}
	
	public void testBindAddresses_singlePublicCerts_notFiltered_assertSingleBoundPublicCerts() throws Exception
	{
		final X509Certificate cert = mock(X509Certificate.class);

		final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
		when(publicCertResolver.getCertificates((InternetAddress)any())).thenReturn(Arrays.asList(cert));
		
		final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
		when(privateCertResolver.getCertificates((InternetAddress)any())).thenReturn(new ArrayList<X509Certificate>());
		
		final DefaultNHINDAgent agent = new DefaultNHINDAgent("starugh-stateline.com", privateCertResolver, 
				publicCertResolver, mock(TrustAnchorResolver.class));
		
		final IncomingMessage message = buildIncomingMessage("MultipartMimeMessage.txt");
		message.setAgent(agent);
		
		agent.bindAddresses(message);
		
		assertEquals(1, message.getSender().getCertificates().size());
	}	
	
	public void testBindAddresses_singlePublicCerts_policyFiltered_assertNoBoundPublicCerts() throws Exception
	{
		final X509Certificate cert = mock(X509Certificate.class);

		final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
		when(publicCertResolver.getCertificates((InternetAddress)any())).thenReturn(Arrays.asList(cert));
		
		final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
		when(privateCertResolver.getCertificates((InternetAddress)any())).thenReturn(new ArrayList<X509Certificate>());
		
		final DefaultNHINDAgent agent = new DefaultNHINDAgent("starugh-stateline.com", privateCertResolver, 
				publicCertResolver, mock(TrustAnchorResolver.class))
		{
			@Override 
			protected Collection<X509Certificate> filterCertificatesByPolicy(InternetAddress sender, PolicyResolver resolver, 
		    		Collection<X509Certificate> certsToFilter, boolean incoming)
		    {
				return Collections.emptyList();
		    }
		};
		
		final IncomingMessage message = buildIncomingMessage("MultipartMimeMessage.txt");
		message.setAgent(agent);
		
		agent.bindAddresses(message);
		
		assertEquals(0, message.getSender().getCertificates().size());
	}
	*/
public void testBindAddresses_noPrivateCerts_assertNoBoundPrivateCerts() throws Exception {
    final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
    when(publicCertResolver.getCertificates((InternetAddress) any())).thenReturn(new ArrayList<X509Certificate>());
    final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
    when(privateCertResolver.getCertificates((InternetAddress) any())).thenReturn(new ArrayList<X509Certificate>());
    final DefaultNHINDAgent agent = new DefaultNHINDAgent("starugh-stateline.com", privateCertResolver, publicCertResolver, mock(TrustAnchorResolver.class));
    final IncomingMessage message = buildIncomingMessage("MultipartMimeMessage.txt");
    message.setAgent(agent);
    agent.bindAddresses(message);
    for (NHINDAddress recipient : message.getRecipients()) assertEquals(0, recipient.getCertificates().size());
}
Also used : TrustAnchorResolver(org.nhindirect.stagent.trust.TrustAnchorResolver) CertificateResolver(org.nhindirect.stagent.cert.CertificateResolver) X509Certificate(java.security.cert.X509Certificate)

Example 4 with CertificateResolver

use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.

the class DefaultNHINDAgent_bindAddressesIncomingMessageTest method testBindAddresses_singlePrivateCerts_notFiltered_assertBoundPrivateCerts.

public void testBindAddresses_singlePrivateCerts_notFiltered_assertBoundPrivateCerts() throws Exception {
    final X509Certificate cert = mock(X509Certificate.class);
    final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
    when(publicCertResolver.getCertificates((InternetAddress) any())).thenReturn(new ArrayList<X509Certificate>());
    final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
    when(privateCertResolver.getCertificates((InternetAddress) any())).thenReturn(Arrays.asList(cert));
    final DefaultNHINDAgent agent = new DefaultNHINDAgent("starugh-stateline.com", privateCertResolver, publicCertResolver, mock(TrustAnchorResolver.class));
    final IncomingMessage message = buildIncomingMessage("MultipartMimeMessage.txt");
    message.setAgent(agent);
    agent.bindAddresses(message);
    for (NHINDAddress recipient : message.getRecipients()) assertEquals(1, recipient.getCertificates().size());
}
Also used : TrustAnchorResolver(org.nhindirect.stagent.trust.TrustAnchorResolver) CertificateResolver(org.nhindirect.stagent.cert.CertificateResolver) X509Certificate(java.security.cert.X509Certificate)

Example 5 with CertificateResolver

use of org.nhindirect.stagent.cert.CertificateResolver in project nhin-d by DirectProject.

the class DefaultNHINDAgent_bindAddressesOutgoingMessageTest method testBindAddresses_singlePrivateCerts_notFiltered_assertBoundPrivateCerts.

public void testBindAddresses_singlePrivateCerts_notFiltered_assertBoundPrivateCerts() throws Exception {
    final X509Certificate cert = mock(X509Certificate.class);
    final CertificateResolver publicCertResolver = mock(CertificateResolver.class);
    when(publicCertResolver.getCertificates((InternetAddress) any())).thenReturn(new ArrayList<X509Certificate>());
    final CertificateResolver privateCertResolver = mock(CertificateResolver.class);
    when(privateCertResolver.getCertificates((InternetAddress) any())).thenReturn(Arrays.asList(cert));
    final DefaultNHINDAgent agent = new DefaultNHINDAgent("Cerner.com", privateCertResolver, publicCertResolver, mock(TrustAnchorResolver.class));
    final OutgoingMessage message = buildOutgoingMessage("MultipartMimeMessage.txt");
    message.setAgent(agent);
    agent.bindAddresses(message);
    assertEquals(1, message.getSender().getCertificates().size());
}
Also used : TrustAnchorResolver(org.nhindirect.stagent.trust.TrustAnchorResolver) CertificateResolver(org.nhindirect.stagent.cert.CertificateResolver) X509Certificate(java.security.cert.X509Certificate)

Aggregations

CertificateResolver (org.nhindirect.stagent.cert.CertificateResolver)34 X509Certificate (java.security.cert.X509Certificate)21 TrustAnchorResolver (org.nhindirect.stagent.trust.TrustAnchorResolver)12 InternetAddress (javax.mail.internet.InternetAddress)9 KeyStoreCertificateStoreProvider (org.nhindirect.stagent.cert.impl.provider.KeyStoreCertificateStoreProvider)6 ArrayList (java.util.ArrayList)5 AddressException (javax.mail.internet.AddressException)5 SmtpAgentException (org.nhindirect.gateway.smtp.SmtpAgentException)5 DefaultNHINDAgent (org.nhindirect.stagent.DefaultNHINDAgent)5 NHINDException (org.nhindirect.stagent.NHINDException)5 PublicLdapCertificateStoreProvider (org.nhindirect.stagent.cert.impl.provider.PublicLdapCertificateStoreProvider)5 DefaultTrustAnchorResolver (org.nhindirect.stagent.trust.DefaultTrustAnchorResolver)5 Collection (java.util.Collection)4 PolicyParseException (org.nhindirect.policy.PolicyParseException)4 OptionsParameter (org.nhindirect.stagent.options.OptionsParameter)4 PolicyResolver (org.nhindirect.stagent.policy.PolicyResolver)4 DNSCertificateStore (org.nhindirect.stagent.cert.impl.DNSCertificateStore)3 LDAPCertificateStore (org.nhindirect.stagent.cert.impl.LDAPCertificateStore)3 DNSCertStoreProvider (org.nhindirect.stagent.cert.impl.provider.DNSCertStoreProvider)3 PrivateCertStoreModule (org.nhindirect.stagent.module.PrivateCertStoreModule)3