20 lines
740 B
Python
20 lines
740 B
Python
from StringIO import StringIO
|
|
|
|
from app import config_provider
|
|
from util.config.validators import BaseValidator, ConfigValidationException
|
|
from util.security.signing import SIGNING_ENGINES
|
|
|
|
class SignerValidator(BaseValidator):
|
|
name = "signer"
|
|
|
|
@classmethod
|
|
def validate(cls, config, user, user_password):
|
|
""" Validates the GPG public+private key pair used for signing converted ACIs. """
|
|
if config.get('SIGNING_ENGINE') is None:
|
|
return
|
|
|
|
if config['SIGNING_ENGINE'] not in SIGNING_ENGINES:
|
|
raise ConfigValidationException('Unknown signing engine: %s' % config['SIGNING_ENGINE'])
|
|
|
|
engine = SIGNING_ENGINES[config['SIGNING_ENGINE']](config, config_provider)
|
|
engine.detached_sign(StringIO('test string'))
|