Categoria: informatica

Ancora pillole di crittografia

Il funzionamento della crittografia classica su internet è questo: il server genera un sua coppia di chiavi ASIMMETRICHE (RSA) certificate da una Authority; quando il client contatta il server, come prima cosa il server gli manda la chiave pubblica. Essendo pubblica, per definizione è una chiave che può venire in possesso di chiunque, anche ad …

Continua a leggere

OpenSSL again

Come decifrare i messaggi di errore? Ho questo messaggio che catturo con la funzione php openssl_error_string() error:0906D06C:PEM routines:func(109):reason(108) Uso la funzione da linea di comando openssl errstr citando il codice di errore (quello in grassetto): $ openssl errstr 0906D06C error:0906D06C:PEM routines:PEM_read_bio:no start line    

Esempio di cifratura a chiave asimmetrica con PHP

Oggi vediamo un semplice esempio di sequenza di operazioni per cifrare un messaggio e successivamente decifrarlo, con lo scopo di scrivere un messaggio segreto che solo il destinatario può decifrare. Lo scenario è il classico Alice scrive a Bob un messaggio che solo lui può leggere, utilizzando la crittografia asimmetrica ideata negli anni 70 da …

Continua a leggere

Come testare se un intero è un numero primo

OpenSSL è un toolkit free software / open source per gestire la crittografia. A tutt’oggi la crittografia commerciale si basa sul fatto che se è facile eseguire n * m = p, fattorizzare p in fattori primi invece è un problema difficile, incredibilmente difficile soprattutto quando n e m sono numeri primi “grandi”. OpenSSL usa …

Continua a leggere

Mirthconnect: ottimizzazione delle connessioni DB

Problema: si scopre che un determinato server database (in questo caso Oracle) è bombardato dalle negoziazioni di connessione da parte di Mirthconnect. Questo provoca una degradazione delle prestazioni del DBMS come per una sorta di attacco DOS. Generalmente una connessione viene aperta, viene svolta una attività, e viene poi chiusa. Risulta spesso che il tempo …

Continua a leggere

Mirthconnect – soluzione ad un problema di avvio della console

Mi sono trovato di fronte ad un problema nell’accedere alla console di amministrazione del Mirth: non partiva l’applet per un problema di sicurezza, dovuto ad una nuova versione dell’Oracle Java Web Start Veniva generata una eccezione in cui il dettaglio mi forniva il motivo dell’errore java.lang.SecurityException: Missing required Permissions manifest attribute in main jar: http://mirth.myserver.com:8080/webstart/client-lib/mirth-client.jar …

Continua a leggere

PDF/A

Il formato PDF/A è un formato definito nel 2005 che è in via di adozione nella PA. Ha lo scopo di fornire un formato veramente aperto, indipendente dalla tecnologia del lettore e la durabilità nel tempo. È un formato che si presta per l’archiviazione storica dei documenti. Uno sguardo più approfondito nella mia area Wiki. …

Continua a leggere

SVN

Subversion, dopo Mercurial HG, Git e CVS, è il quarto sistema di gestione delle versioni che uso. Un piccolo howto on progress nel mio Wiki.

A proposito di REST

Figure 5.2: Client-Server

Sto valutando se realizzare un webservice secondo l’architettura REST oppure no. Dalla tesi di dottorato di Roy Fielding, inventore di REST (REpresentational State Transfer) “Dobbiamo poi aggiungere un vincolo per l’interazione client-server: la comunicazione deve essere «senza stato» di natura, come nello stile senza stato client-server (CSS) del paragrafo 3.4.3 (Figura 5-3), in modo tale …

Continua a leggere

Inversion of Control

Mi imbatto, leggendo le note di NodeBeginner.org su Node.js, nel problema di interfacciare il nostro programma con librerie terze: alla svelta si può rimane impigliati in una rete da pesca. Questo sito parla (anche in italiano) del modo di gestire le dipendenze per dormire sonni tranquilli. Da leggere con calma.