def test_invalid_rsa_key(): invalid_key = TEST_SSH_KEY_DATA.replace('-----END', '----END') with pytest.raises(ValidationError): validate_private_key(invalid_key) with pytest.raises(ValidationError): validate_certificate(invalid_key) with pytest.raises(ValidationError): validate_ssh_private_key(invalid_key)
def test_cert_with_key(): cert_with_key = TEST_SSH_CERT_KEY with pytest.raises(ValidationError): validate_private_key(cert_with_key) with pytest.raises(ValidationError): validate_certificate(cert_with_key) pem_objects = validate_ssh_private_key(cert_with_key) assert pem_objects[0]['type'] == 'CERTIFICATE' assert pem_objects[1]['key_type'] == 'rsa' assert not pem_objects[1]['key_enc']
def test_invalid_keys(): invalid_keys = [ "---BEGIN FOO -----foobar-----END FOO----", "-----BEGIN FOO---foobar-----END FOO----", "-----BEGIN FOO-----foobar---END FOO----", "----- BEGIN FOO ----- foobar ----- FAIL FOO ----", "----- FAIL FOO ----- foobar ----- END FOO ----", "----BEGIN FOO----foobar----END BAR----", ] for invalid_key in invalid_keys: with pytest.raises(ValidationError): validate_private_key(invalid_key) with pytest.raises(ValidationError): validate_certificate(invalid_key) with pytest.raises(ValidationError): validate_ssh_private_key(invalid_key)
def test_valid_locked_openssh_key(): valid_key = TEST_OPENSSH_KEY_DATA_LOCKED pem_objects = validate_private_key(valid_key) assert pem_objects[0]['key_type'] == 'ed25519' assert pem_objects[0]['key_enc'] with pytest.raises(ValidationError): validate_certificate(valid_key) pem_objects = validate_ssh_private_key(valid_key) assert pem_objects[0]['key_type'] == 'ed25519' assert pem_objects[0]['key_enc']
def test_valid_rsa_key(): valid_key = TEST_SSH_KEY_DATA pem_objects = validate_private_key(valid_key) assert pem_objects[0]['key_type'] == 'rsa' assert not pem_objects[0]['key_enc'] with pytest.raises(ValidationError): validate_certificate(valid_key) pem_objects = validate_ssh_private_key(valid_key) assert pem_objects[0]['key_type'] == 'rsa' assert not pem_objects[0]['key_enc']