Есть ли Coldfusion альтернатива php-функции openssl_verify ()?

Есть ли Coldfusion, альтернативный этой функции php: openssl_verify:

openssl_verify() проверяет правильность подписи
указанные данные, используя открытый ключ, связанный с pub_key_id. это
должен быть открытый ключ, соответствующий закрытому ключу, используемому для
подписание.

Я осмотрелся повсюду, но, похоже, их нет. Спасибо заранее за любую информацию?

1

Решение

Там нет встроенных функций, AFAIK. Тем не менее, Java поддерживает проверка подписи, который вы можете адаптировать с небольшим количеством кода Java.

  1. Преобразуйте данные, которые вы хотите проверить, в двоичный файл. Точные шаги зависят от того, что вы проверяете, но говорят, что это физический файл:

    dataBytes = fileReadBinary( "c:\path\someFile.zip" );
    
  2. Декодировать значение подписи в двоичный файл. Опять же, «как» зависит от формата подписи. Если это строка в кодировке base64:

    signatureBytes = binaryDecode( base64SignatureString, "base64" );
    
  3. Загрузите сертификат из вашего хранилища ключей (или из файла) и извлеките открытый ключ:

    // Example: "C:\ColdFusion\jre\lib\security\cacerts"fis = createObject("java", "java.io.FileInputStream").init( pathToKeyStore );
    keyStore = createObject("java", "java.security.KeyStore").getInstance("JKS");
    // Default keystore password is "changeit" (do not keep the default. change it)
    keyStore.load(fis, keyStorePassword.toCharArray());
    publicKey = keyStore.getCertificate( "yourCertAlias" ).getPublicKey();
    
  4. Создать Подпись объект для выполнения проверки. Инициализируйте его с помощью соответствующего алгоритма (например, SHA1withRSA, и так далее), открытого ключа и данных для проверки:

    sign = createObject("java", "java.security.Signature").getInstance("SHA1withRSA");
    sign.initVerify( publicKey );
    sign.update( dataBytes );
    
  5. Наконец, введите подпись и проверьте ее статус:

    isVerified = sign.verify(signatureBytes);
    writeDump( isVerified );
    

Для получения дополнительной информации см. Урок: создание и проверка подписей а также Слабые стороны и альтернативы.

2

Другие решения

Вы можете попытаться использовать cfexecute вместе с OpenSSL CLI. https://www.openssl.org/docs/manmaster/apps/verify.html

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector