Есть ли Coldfusion, альтернативный этой функции php: openssl_verify:
openssl_verify()
проверяет правильность подписи
указанные данные, используя открытый ключ, связанный с pub_key_id. это
должен быть открытый ключ, соответствующий закрытому ключу, используемому для
подписание.
Я осмотрелся повсюду, но, похоже, их нет. Спасибо заранее за любую информацию?
Там нет встроенных функций, AFAIK. Тем не менее, Java поддерживает проверка подписи, который вы можете адаптировать с небольшим количеством кода Java.
Преобразуйте данные, которые вы хотите проверить, в двоичный файл. Точные шаги зависят от того, что вы проверяете, но говорят, что это физический файл:
dataBytes = fileReadBinary( "c:\path\someFile.zip" );
Декодировать значение подписи в двоичный файл. Опять же, «как» зависит от формата подписи. Если это строка в кодировке base64:
signatureBytes = binaryDecode( base64SignatureString, "base64" );
Загрузите сертификат из вашего хранилища ключей (или из файла) и извлеките открытый ключ:
// 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();
Создать Подпись объект для выполнения проверки. Инициализируйте его с помощью соответствующего алгоритма (например, SHA1withRSA, и так далее), открытого ключа и данных для проверки:
sign = createObject("java", "java.security.Signature").getInstance("SHA1withRSA");
sign.initVerify( publicKey );
sign.update( dataBytes );
Наконец, введите подпись и проверьте ее статус:
isVerified = sign.verify(signatureBytes);
writeDump( isVerified );
Для получения дополнительной информации см. Урок: создание и проверка подписей а также Слабые стороны и альтернативы.
Вы можете попытаться использовать cfexecute вместе с OpenSSL CLI. https://www.openssl.org/docs/manmaster/apps/verify.html