yoti-8.x-2.5/sdk/Yoti/Util/EncryptedData.php

sdk/Yoti/Util/EncryptedData.php
<?php

namespace Yoti\Util;

use Compubapi\EncryptedData as EncryptedDataProto;

class EncryptedData
{
    /**
     * @param string $data
     * @param string $wrappedKey
     * @param string $pem
     *
     * @return string
     */
    public static function decrypt($data, $wrappedKey, $pem)
    {
        $encryptedDataProto = new \Compubapi\EncryptedData();
        $encryptedDataProto->mergeFromString(base64_decode($data));
        return self::decryptFromProto($encryptedDataProto, $wrappedKey, $pem);
    }

    /**
     * @param \Compubapi\EncryptedData $encryptedDataProto
     * @param string $wrappedKey
     * @param string $pem
     *
     * @return string
     */
    public static function decryptFromProto(EncryptedDataProto $encryptedDataProto, $wrappedKey, $pem)
    {
        openssl_private_decrypt(
            base64_decode($wrappedKey),
            $unwrappedKey,
            $pem
        );

        return openssl_decrypt(
            $encryptedDataProto->getCipherText(),
            'aes-256-cbc',
            $unwrappedKey,
            OPENSSL_RAW_DATA,
            $encryptedDataProto->getIv()
        );
    }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc