示例#1
0
    def test_load_private_key(self):
        """ Test case where we have try to load keys in different formats """

        # First test with a pkcs12 key file
        cert_path = os.path.join(TEST_DIR, 'cert_test.p12')
        with open(cert_path, 'rb') as cert_file:
            try:
                as2.Organization(
                    as2_name='some_org',
                    sign_key=cert_file.read(),
                    sign_key_pass='******'
                )
            except as2.AS2Exception as e:
                self.fail('Failed to load p12 private key: %s' % e)

        # Now test with a pem encoded key file
        cert_path = os.path.join(TEST_DIR, 'cert_test.pem')
        with open(cert_path, 'rb') as cert_file:
            try:
                as2.Organization(
                    as2_name='some_org',
                    sign_key=cert_file.read(),
                    sign_key_pass='******'
                )
            except as2.AS2Exception as e:
                self.fail('Failed to load pem private key: %s' % e)
示例#2
0
    def test_message_checks(self):
        """Test the checks and other features of Message."""
        msg = as2.Message()
        assert msg.content == ""
        assert msg.headers == {}
        assert msg.headers_str == b""

        msg.payload = message.Message()
        msg.payload.set_payload(b"data")
        assert msg.content == b"data"

        org = as2.Organization(as2_name="AS2 Server")
        partner = as2.Partner(as2_name="AS2 Partner", sign=True)
        msg = as2.Message(sender=org, receiver=partner)
        with self.assertRaises(ImproperlyConfigured):
            msg.build(b"data")

        msg.receiver.sign = False
        msg.receiver.encrypt = True
        with self.assertRaises(ImproperlyConfigured):
            msg.build(b"data")

        msg.receiver.encrypt = False
        msg.receiver.mdn_mode = "ASYNC"
        with self.assertRaises(ImproperlyConfigured):
            msg.build(b"data")

        msg.sender.mdn_url = "http://localhost/pyas2/as2receive"
        msg.build(b"data")
示例#3
0
 def setUp(self):
     self.org = as2.Organization(as2_name='some_organization',
                                 sign_key=self.private_key,
                                 sign_key_pass='******',
                                 decrypt_key=self.private_key,
                                 decrypt_key_pass='******')
     self.partner = as2.Partner(as2_name='some_partner',
                                verify_cert=self.public_key,
                                encrypt_cert=self.public_key)
示例#4
0
 def setUp(self):
     self.org = as2.Organization(
         as2_name="some_organization",
         sign_key=self.private_key,
         sign_key_pass="******",
         decrypt_key=self.private_key,
         decrypt_key_pass="******",
     )
     self.partner = as2.Partner(
         as2_name="some_partner",
         verify_cert=self.public_key,
         encrypt_cert=self.public_key,
     )
示例#5
0
    def setUp(self):
        self.org = as2.Organization(as2_name='pyas2lib',
                                    sign_key=self.private_key,
                                    sign_key_pass='******',
                                    decrypt_key=self.private_key,
                                    decrypt_key_pass='******')

        self.partner = as2.Partner(as2_name='pyas2idev',
                                   verify_cert=self.oldpyas2_public_key,
                                   encrypt_cert=self.oldpyas2_public_key,
                                   mdn_mode=as2.SYNCHRONOUS_MDN,
                                   mdn_digest_alg='sha256')
        self.out_message = None
示例#6
0
    def setUp(self):
        self.org = as2.Organization(
            as2_name="pyas2lib",
            sign_key=self.private_key,
            sign_key_pass="******",
            decrypt_key=self.private_key,
            decrypt_key_pass="******",
        )

        self.partner = as2.Partner(
            as2_name="mecas2",
            verify_cert=self.mecas2_public_key,
            encrypt_cert=self.mecas2_public_key,
            mdn_mode=as2.SYNCHRONOUS_MDN,
            mdn_digest_alg="sha256",
        )
        self.out_message = None
示例#7
0
 def setUp(self):
     self.org = as2.Organization(
         as2_name="AS2 Server",
         sign_key=self.oldpyas2_private_key,
         sign_key_pass="******",
         decrypt_key=self.oldpyas2_private_key,
         decrypt_key_pass="******",
     )
     self.partner = as2.Partner(
         as2_name="Sterling B2B Integrator",
         verify_cert=self.sb2bi_public_key,
         verify_cert_ca=self.sb2bi_public_ca,
         encrypt_cert=self.sb2bi_public_key,
         encrypt_cert_ca=self.sb2bi_public_ca,
     )
     self.partner.load_verify_cert()
     self.partner.load_encrypt_cert()