Esempio n. 1
0
 def clean_private_key_file(self):
     if self.cleaned_data.get('private_key_file'):
         key_string = self.cleaned_data['private_key_file'].read()
         self.cleaned_data['private_key_file'].seek(0)
         if not validate_ssh_private_key(key_string):
             raise forms.ValidationError(_('Invalid private key'))
     return self.cleaned_data['private_key_file']
Esempio n. 2
0
 def validate_private_key(self, private_key):
     if not private_key:
         return
     password = self.initial_data.get("password")
     valid = validate_ssh_private_key(private_key, password)
     if not valid:
         raise serializers.ValidationError(_("private key invalid"))
     return private_key
Esempio n. 3
0
 def clean_private_key_file(self):
     if self.data['auth_method'] == 'K' and self.cleaned_data[
             'private_key_file']:
         key_string = self.cleaned_data['private_key_file'].read()
         self.cleaned_data['private_key_file'].seek(0)
         if not validate_ssh_private_key(key_string):
             raise forms.ValidationError(_('Invalid private key'))
     return self.cleaned_data['private_key_file']
Esempio n. 4
0
 def clean_private_key_file(self):
     private_key_file = self.cleaned_data['private_key_file']
     if private_key_file:
         private_key = private_key_file.read()
         if not validate_ssh_private_key(private_key):
             raise forms.ValidationError(_('Invalid private key'))
         return private_key
     return private_key_file
Esempio n. 5
0
    def clean_private_key_file(self):
        private_key_file = self.cleaned_data['private_key_file']
        password = self.cleaned_data['password']

        if private_key_file:
            key_string = private_key_file.read()
            private_key_file.seek(0)
            if not validate_ssh_private_key(key_string, password):
                raise forms.ValidationError(_('Invalid private key'))
        return private_key_file
Esempio n. 6
0
    def clean_private_key_file(self):
        private_key_file = self.cleaned_data['private_key_file']
        password = self.cleaned_data['password']

        if private_key_file:
            key_string = private_key_file.read()
            private_key_file.seek(0)
            if not validate_ssh_private_key(key_string, password):
                raise forms.ValidationError(_('Invalid private key'))
        return private_key_file
Esempio n. 7
0
 def validate_private_key(self, private_key):
     if not private_key:
         return
     if 'OPENSSH' in private_key:
         msg = _("Not support openssh format key, using "
                 "ssh-keygen -t rsa -m pem to generate")
         raise serializers.ValidationError(msg)
     password = self.initial_data.get("password")
     valid = validate_ssh_private_key(private_key, password)
     if not valid:
         raise serializers.ValidationError(_("private key invalid"))
     return private_key
Esempio n. 8
0
    def clean_private_key_file(self):
        private_key_file = self.cleaned_data['private_key_file']
        password = self.cleaned_data['password']

        if private_key_file:
            key_string = private_key_file.read()
            private_key_file.seek(0)
            key_string = key_string.decode()

            if not validate_ssh_private_key(key_string, password):
                msg = _('Invalid private key, Only support '
                        'RSA/DSA format key')
                raise forms.ValidationError(msg)
        return private_key_file
Esempio n. 9
0
    def validate_private_key(self, private_key):
        if not private_key:
            return
        passphrase = self.initial_data.get('passphrase')
        valid = validate_ssh_private_key(private_key, password=passphrase)
        if not valid:
            raise serializers.ValidationError(
                _("private key invalid or passphrase error"))

        private_key = ssh_private_key_gen(private_key, password=passphrase)
        string_io = StringIO()
        private_key.write_private_key(string_io)
        private_key = string_io.getvalue()
        return private_key
Esempio n. 10
0
def private_key_validator(value):
    if not validate_ssh_private_key(value):
        raise ValidationError(
            _('%(value)s is not an even number'),
            params={'value': value},
        )
Esempio n. 11
0
def private_key_validator(value):
    if not validate_ssh_private_key(value):
        raise ValidationError(
            _('%(value)s is not an even number'),
            params={'value': value},
        )