def _auto_create_cert(self): """ Automatically generates server x509 certificate """ common_name = slugify(self.name) server_extensions = [ { "name": "nsCertType", "value": "server", "critical": False } ] cert = Cert(name=self.name, ca=self.ca, key_length=self.ca.key_length, digest=self.ca.digest, country_code=self.ca.country_code, state=self.ca.state, city=self.ca.city, organization=self.ca.organization, email=self.ca.email, common_name=common_name, extensions=server_extensions) cert.save() return cert
def test_vpn_cert_and_ca_mismatch(self): ca = self._create_ca() different_ca = self._create_ca() cert = Cert(name='test-cert-vpn', ca=ca, key_length='2048', digest='sha256', country_code='IT', state='RM', city='Rome', organization_name='OpenWISP', email='*****@*****.**', common_name='openwisp.org') cert.full_clean() cert.save() vpn = Vpn(name='test', host='vpn1.test.com', ca=different_ca, cert=cert, backend='django_netjsonconfig.vpn_backends.OpenVpn') try: vpn.full_clean() except ValidationError as e: self.assertIn('cert', e.message_dict) else: self.fail('Mismatch between ca and cert but ' 'ValidationError not raised')
def _auto_create_cert(self): """ Automatically generates server x509 certificate """ common_name = slugify(self.name) server_extensions = [{ "name": "nsCertType", "value": "server", "critical": False }] cert = Cert(name=self.name, ca=self.ca, key_length=self.ca.key_length, digest=self.ca.digest, country_code=self.ca.country_code, state=self.ca.state, city=self.ca.city, organization=self.ca.organization, email=self.ca.email, common_name=common_name, extensions=server_extensions) cert.save() return cert