<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[VB][openSSL] Errore durante l&#x27;encrypt della stringa con certificato]]></title><description><![CDATA[<p dir="auto">Ciao,<br />
è la prima volta che utilizzo un certificato per criptare i dati.</p>
<p dir="auto">Nella mia macchina ho installato openSSL, tramite il prompt dei comandi invio i due comandi:<br />
Criptare (fornita da chi mi ha dato il certificato X.509 contenente la chiave pubblica con padding PKCS#1 v 1.5):</p>
<pre><code>
openssl rsautl -encrypt -in esempio.txt -out esempio.encrypted -inkey certificate.cer -certin -pkcs

</code></pre>
<p dir="auto">Decriptare:</p>
<pre><code>
openssl rsautl -decrypt -inkey cert\private.pem -in esempio.encrypted -out esempio.decrypted

</code></pre>
<p dir="auto">La stringa all'interno del file esempio.txt viene restituita correttamente.</p>
<p dir="auto">Vorrei replicare le stesse istruzioni all'interno di una solution in VB con VisualStudio2019, cripto i miei dati (una stringa), ma se provo a decryptarla tramite openSSL ottengo l'errore:</p>
<pre><code>
RSA operation error
21060:error:0406506C:rsa routines:rsa_ossl_private_decrypt:data greater than mod len:crypto\rsa\rsa_ossl.c:401:

</code></pre>
<p dir="auto">Codice VB:</p>
<pre><code>
Dim cert As X509Certificate2
Dim strToEncrypt As String
Dim encryptedString As String

' Lettura del certificato
cert = New X509Certificate2(Path.Combine(Directory.GetCurrentDirectory(), "certificate.cer"), "", X509KeyStorageFlags.Exportable)

'String da crittografare
strToEncrypt = "Questa è la mia stringa"

Dim rsaProvider As RSACryptoServiceProvider = DirectCast(cert.PublicKey.Key,  RSACryptoServiceProvider)

'Convert the string into a Byte Array and encrypt w/ public key
Dim bytesToEncrypt() As Byte = Encoding.ASCII.GetBytes(strToEncrypt)
Dim encryptedBytes() As Byte = rsaProvider.Encrypt(bytesToEncrypt, False)

Dim base64 As String = Convert.ToBase64String(encryptedBytes)

</code></pre>
<p dir="auto">Cosa non va secondo voi?</p>
<p dir="auto">Grazie.</p>
]]></description><link>https://connect.gt/topic/246043/vb-openssl-errore-durante-l-encrypt-della-stringa-con-certificato</link><generator>RSS for Node</generator><lastBuildDate>Fri, 06 Mar 2026 00:24:26 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/246043.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 May 2021 21:49:56 GMT</pubDate><ttl>60</ttl></channel></rss>