Я пытаюсь подписать строку:шифровать против знака, редкий выход с Crypt_RSA
$rsa = new Crypt_RSA();
//$rsa->setPassword('*****');
$rsa->loadKey(file_get_contents('i.pem')); // private key
$plaintext = 'f2e140eb-2b09-44ab-8504-87b25d81914c';
$rsa->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
$ciphertext = $rsa->sign($plaintext);
$reto = base64_encode($ciphertext);
, когда я проверить его на месте, с:
$pubb_key = openssl_pkey_get_public(file_get_contents('instancia_imta_ope.crt'));
$keyData = openssl_pkey_get_details($pubb_key);
$pkeyy = $keyData['key'];
$rsa->loadKey($pkeyy); // PUBLIC key
echo $rsa->verify($plaintext, $ciphertext) ? 'verified' : 'unverified';
это показывает Подтвержденные , когда я использую страница тестера с моим брокером, ЭТОТ ЖЕ САМОЙ КОД, не работает. Он не восстанавливает исходную строку. Попытки использовать что-то другое, я попытался следующий странный код:
$rsa = new Crypt_RSA();
$rsa->loadKey(file_get_contents('i.pem')); // PRIVATE key, IT SHOULD BE PUBLIC
$plaintext = 'f2e140eb-2b09-44ab-8504-87b25d81914c';
$rsa->setEncryptionMode(CRYPT_RSA_ENCRYPTION_PKCS1);
$ciphertext = $rsa->encrypt($plaintext);
$reto = base64_encode($ciphertext);
его странно или не логично, потому что я с помощью закрытого ключа шифрования, он suposed быть открытым ключом, сын целевых применений его секретный ключ, чтобы дешифровать сообщение. Странно, этот код weid делает страницу тестера отправленной OK, она восстанавливает строку. Я не знаю, почему. Все это часть более крупного сообщения, которое, наконец, обрабатывается с помощью подписи xml, когда я обрабатываю все (добавление подписи xml), другая страница тестера брокера отправляет недопустимые подписи, я могу поспорить, что это из-за странный код. Неважно, вопрос: ПОЧЕМУ ПРАВИЛЬНЫЙ КОД (rsa-> sign ....) DOESNT WORK? ЧТО ВЫ ЭТО ВСЕ ЭТО? спасибо mario
Может быть, странный код правильно, зашифровать с закрытым ключом, и все люди с расшифровывать, но только с моей публикой , ключ, возможно, именно поэтому первая страница отправляет OK – user1873420
Так что, может быть, я сомневаюсь, почему два кода, один с знаком rsa-> и односторонний с rsa-> encrypt, не дают тот же результат, спасибо за его разъяснение – user1873420