Newsgroup: it.comp.lang.vo-clipper
Titolo: Crittografia

Salve a tutti.
Ho un nuovo problema, che devo comunque risolvere entro fine Novembre, e 
cioč:
Devo crittografare una stringa con chiave pubblica RSA contenuta in 
certificato X.509 ed applicando il padding PKCS#1 v. 1.5.
Mi si dice anche che la trasformazione deve essere conforme a quella 
ottenuta con l'esecuzione del comando del pacchetto OpenSSL come ad esempio:
openssl rsautl -encypt -in testo.txt -out testo.enc -inkey 
certificato.cer -certin -pkcs
ho fatto tutto secondo questo schema e funziona.
Considerazioni: openssl mi apre una finestra dos e poi la chiude (utilizzo 
createprocess(...)). va bene per qualche record, ma se i record sono 
nell'ordine delle migliaia il problema si fa sentire in quanto:
1) prima di lanciare openssl devo devo creare un file.txt su disco che 
contiene la stringa da codificare (Testo.txt)
2) openssl mi restituisce il file codificato Text.enc
3) devo aprire questo file, leggerne il contenuto ed assegnarlo ad una 
variabile stringa o un campo stringa di database;
4) devo utilizzare una funzione (WaitForProcess()) che lancia il comando con 
CreateProcess ed aspetta la fina del processo prima di restituire il 
controllo altrimenti non riesco a leggere i dati.
5) non riesco a non far visualizzare la finestra dos.
Io ho realizzato il tutto con Vo 2.7 e funziona, male, ma funziona e 
comunque, come detto, va bene solo per l'elaborazione di pochi record (per 
l'elaborazione di 350 record impiega un minuto circa).
Non ho trovato molta documentazione sull'uso e sulla spiegazione dei comandi 
openssl.
Qualcuno di voi ha affrontato il problema?
Esiste un'alternitava all'uso di openssl che mi dia lo stesso risultato?
Esiste anche una libreria libssl32.dll ma non so come usarla.
Premetto che openssl č un programma open source e viene fornito con i 
sorgenti in "C" e tutto l'occorrente per compilarlo ma io non uso il "C".
Esiste una libreria-dll anche a pagamento che si interfaccia con VO?
Qualcuno di Voi ha mai affrontato il problema della crittografia?
Grazie a chiunque possa aiutarmi.
Ciao a tutti Enzo.
--------------------------------------------------------------------------------
La mia Cartella di Posta in Arrivo č protetta con SPAMfighter
4366 messaggi contenenti spam sono stati bloccati con successo.
Scarica gratuitamente SPAMfighter! 

 La mia Cartella di Posta in Arrivo è protetta con SPAMfighter


 Ciao Alessandro.
Grazie della risposta. WaitForProcess è una funzione locale al cui interno 
ci sono le funzioni che tu dici.
Ma il mio problema non è come lanciare il programma.
Il mio problema è se esiste un'alternativa a openssl per crittografare, con 
le modalità che ho specificato, una stringa.
Il resto è per far capire la pesantezza dell'uso di openssl lanciato per 
ogni record elaborato.
FUNCTION WaitForProcess (cExePath AS STRING, cParametri AS STRING, nSecondi 
AS INT) AS LOGIC STRICT
LOCAL Pro_Inf IS _WINPROCESS_INFORMATION
LOCAL startup IS _WINSTARTUPINFO
LOCAL lSucceed AS LOGIC
LOCAL nCount AS INT
LOCAL cExeName AS STRING
LOCAL lResult AS LOGIC
lResult := TRUE
cExeName := SubStr(cExePath, RAt("\", cExePath)+1)
lSucceed := CreateProcess(NULL_PTR, String2Psz(cExePath + " " +cParametri), 
;
                                                NULL_PTR, NULL_PTR, FALSE, 
0, NULL_PTR, NULL_PTR, @startup,;
                                                @pro_inf)
nSecondi *= 2
IF lSucceed
    WHILE WaitForSingleObject(pro_inf.hProcess, 500) = WAIT_TIMEOUT
            IF ++nCount > nSecondi
                Avviso(SysObject(),cExeName + " Superato TimeOut: Funzione 
abortita." + CRLF + "Parametri: " + cParametri)
                lResult := FALSE
        ENDIF
    ENDDO
    CloseHandle(pro_inf.hProcess)
ELSE
    Avviso(SysObject(),cExeName + " Avvio fallito" + CRLF + "Parametri: " 
+cParametri)
    lResult := FALSE
ENDIF
RETURN lResult
Ciao. Enzo
--------------------------------------------------------------------------------
La mia Cartella di Posta in Arrivo è protetta con SPAMfighter
4376 messaggi contenenti spam sono stati bloccati con successo.
Scarica gratuitamente SPAMfighter! 

 ha scritto nel messaggio 
news:456062a1$0$13756$4faf...@reader3.news.tin.it...
