Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Dopo quasi un mese di utilizzo quotidiano e un viaggio medio-lungo in autostrada, raccontiamo pregi e limiti della Geely EX5: comfort premium, batteria LFP da 60,22 kWh, autonomia fino a 430 km e un prezzo che parte da 38.900 €
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-05-2021, 22:52   #1
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
[VB][openSSL] Errore durante l'encrypt della stringa con certificato

Ciao,
è la prima volta che utilizzo un certificato per criptare i dati.

Nella mia macchina ho installato openSSL, tramite il prompt dei comandi invio i due comandi:
Criptare (fornita da chi mi ha dato il certificato X.509 contenente la chiave pubblica con padding PKCS#1 v 1.5):
Codice:
openssl rsautl -encrypt -in esempio.txt -out esempio.encrypted -inkey certificate.cer -certin -pkcs
Decriptare:
Codice:
openssl rsautl -decrypt -inkey cert\private.pem -in esempio.encrypted -out esempio.decrypted
La stringa all'interno del file esempio.txt viene restituita correttamente.

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:
Codice:
RSA operation error
21060:error:0406506C:rsa routines:rsa_ossl_private_decrypt:data greater than mod len:crypto\rsa\rsa_ossl.c:401:
Codice VB:
Codice:
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)
Cosa non va secondo voi?

Grazie.
__________________
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2021, 09:27   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2793
Quando salvi i dati criptati li salvi come raw bytes o scrivi il base64? openssl scrive i raw bytes
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2021, 09:29   #3
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Quando salvi i dati criptati li salvi come raw bytes o scrivi il base64? openssl scrive i raw bytes
Ciao, scrivo il valore associato alla variabile base64.

Come faccio ad ottenere i raw bytes?

Grazie.
__________________
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2021, 09:47   #4
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2793
Li hai già, sono quelli contenuti in encryptedBytes. Li puoi scrivere ad esempio con File.WriteAllBytes
https://docs.microsoft.com/en-us/dot...s?view=net-5.0
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2021, 10:50   #5
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Quote:
Originariamente inviato da wingman87 Guarda i messaggi
Li hai già, sono quelli contenuti in encryptedBytes. Li puoi scrivere ad esempio con File.WriteAllBytes
https://docs.microsoft.com/en-us/dot...s?view=net-5.0
Ho provato a decriptare con la chiave privata e funziona.

La codifica in base64 è necessaria, infatti codifico in base64 e scrivo il file.

Successivamente, come prova, con openSSL decodifico e decripto ottengo il messaggio di errore.
__________________
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2021, 12:58   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2793
Non ho provato il tuo codice VB ma ti spiego cosa ho fatto:
1. ho creato un file txt scrivendoci dentro qualcosa e l'ho criptato con il primo comando openssl che hai indicato
2. ho aperto il file criptato e non è in base64 (si riconoscerebbe perché sarebbe composto da caratteri ASCII)

Quindi sono abbastanza sicuro che se vuoi decriptare con il secondo comando openssl che hai indicato, non devi salvare il file in base64.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2021, 08:27   #7
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Grazie per le tue prove.

Purtroppo il file da inviare deve essere in base64 per questo ho fatto anche la prova di codifica/decodifica in base64.
__________________
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
PaperWake: la sveglia open-source con sc...
La crisi delle memorie continua: il pre...
La Xiaomi Smart Band 11 è vicina: quattr...
Aspira a 21.000 Pa, soffia, gonfia e ill...
ChatGPT è ora un motore di ricerca e dev...
Oracle Fusion Cloud HCM si aggiorna: arr...
Tesla, incidente fatale a 167 km/h su st...
NVIDIA ha cambiato idea: Rubin CPX torna...
Samsung Galaxy Book6: fino a 25 ore di a...
Il MIT: l'IA risolve quasi ogni compito ...
Revolut lancia AIR in Italia: l'assisten...
Il paradosso Amazon: negli USA miliardi ...
be quiet! Dark Power Pro 14 IO: l'alimen...
DLSS 5 debutta il 4 settembre in NBA 2K2...
WhatsApp prepara un nuovo avviso di sicu...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:17.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v