perf: update input ssh key

This commit is contained in:
ibuler
2026-06-03 11:09:08 +08:00
committed by 老广
parent ab73892166
commit a9a92b4621
3 changed files with 27 additions and 4 deletions

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.2.13 on 2026-06-03 02:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('authentication', '0008_alter_accesskey_secret_alter_temptoken_secret'),
]
operations = [
migrations.AddField(
model_name='connectiontoken',
name='input_secret_type',
field=models.CharField(blank=True, default='password', max_length=16, verbose_name='Input secret type'),
),
]

View File

@@ -26,7 +26,7 @@ class ConnectionTokenSerializer(OrgResourceModelSerializerMixin):
model = ConnectionToken
fields_mini = ['id', 'value']
fields_small = fields_mini + [
'user', 'asset', 'account', 'input_username', 'input_secret',
'user', 'asset', 'account', 'input_username', 'input_secret', 'input_secret_type',
'connect_method', 'connect_options', 'protocol', 'actions',
'is_active', 'is_reusable', 'from_ticket', 'from_ticket_info',
'date_expired', 'date_created', 'date_updated', 'created_by',

View File

@@ -3,6 +3,7 @@ import base64
from django.conf import settings
from gmssl.sm4 import CryptSM4, SM4_ENCRYPT, SM4_DECRYPT
from gmssl import sm2, sm3, func
import logging
from common.sdk.gm import Device
from .base import BaseCrypto, BaseCryptoSuite
@@ -108,9 +109,13 @@ class GmCryptoSuite(BaseCryptoSuite):
return cipher_text
def decrypt_with_key_pair(self, cipher_text, private_key):
message = base64.b64decode(cipher_text.encode())
sm2_crypt = sm2.CryptSM2(public_key='', private_key=private_key)
return sm2_crypt.decrypt(message).decode()
try:
message = base64.b64decode(cipher_text.encode())
sm2_crypt = sm2.CryptSM2(public_key='', private_key=private_key)
return sm2_crypt.decrypt(message).decode()
except Exception as e:
logging.error(f"Decrypt with key pair error: {e}")
return cipher_text
def hash(self, msg):
return Sm3Hasher.hash(msg)