PDA

View Full Version : CA e .pem


Potato Head
19-04-2006, 14:55
Salve a tutti, ho un problema che penso si possa bypassare:
Un programma beta in mio possesso permette di visualizzare solo documenti firmati con una chiave specifica.

Aprendo il file cn notepad ottengo questo:

Version: 3 (0x2)
Serial Number:
fb:2a:c0:d0:f2:b8:80:21
Signature Algorithm: sha1WithRSAEncryption
Issuer: xxxxxxxxxxxxxxxx
Validity
Not Before: Nov 29 01:19:22 2005 GMT
Not After : Nov 29 01:19:22 2006 GMT
Subject: xxxxxxxxxxxx
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:e8:8b:9c:04:3f:92:30:29:0a:ab:07:19:7d:b9:
.....
8d:b5:d6:78:52:05:45:9a:29
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
5B:D1:21:EA:6D:C6:FE:26:57:13:3D:6A:43:84:75:A9:52:63:03:8B
X509v3 Authority Key Identifier:
keyid:18:4D:0B:C0:AC:77:61:EE:A5:A8:81:01:C4:2A:FD:E1:40:C1:D8:66
DirName:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
serial:FB:2A:C0:D0:F2:B8:80:20

Signature Algorithm: sha1WithRSAEncryption
43:74:17:1a:97:5b:8c:ca:b2:bd:9e:20:08:f3:20:30:87:a3:
.....
f1:94
-----BEGIN CERTIFICATE-----
MIIDWTCCAsKgAwIBAgIJAPsqwNDyuIAhMA0GCSqGSIb3
......
c+k2kAMFktbDhVG8Y/ay2zuLSn6syC7y8xeCtZqyCV/6cCWwWyq6AAUkXPGU
-----END CERTIFICATE-----

Ora se sono in possesso di un file .pem con la chiave come posso firmare un altro documento in modo da rendere possibile la visualizzazione??

Grazie

Potato Head
19-04-2006, 15:02
Spiego meglio per capire bene se mi sto muovendo nel modo giusto:
In una cartella del plug-in/programma ho trovato 2 certificati .pem e allora ho pensato che sostituendo quei 2 altri 2 certificati fatti da me di cui ero in possesso della chiave potevo firmare i miei documenti e usarli.

Ho creato una CA con "/usr/share/ssl/misc/CA -newca" e l'ho compilata con tutti i campi del certificato originale

Ho fatto una nuova richiesta con "/usr/share/ssl/misc/CA -newreq"

L'ho approvata "/usr/share/ssl/misc/CA -sign"

e infine ho sostituito i 2 certificati nel plug-in e ottenuto una key penso per cifrare i miei documenti in modo da renderli visibili.

I miei dubbi sono:
-la chiave è giusta oppure dovevo partire dalla creazione di una coppia di chiavi e poi fare una CA?
-In linea teorica il sistema può funzionare?
-Ho notato che i miei certificati hanno md5 invece di sh, può essere un problema?

Se potete aiutatemi, vi prego...
Grazie

kingv
19-04-2006, 15:49
in linea teorica puo' funzionare ma non mi sembra molto etico....

in ogni caso quel fie non contiene solo il certificato ma anche la rappresentazione testuale dello stesso (il pezzo prima di ----BEGIN CERTIFICATE----), il programma potrebbe farne uso.

Potato Head
19-04-2006, 18:39
Non è affatto etico... ma è a scopo di studio, purtroppo l'unico sistema che ho trovato.

Mi potresti dire che comando usare per firmare il file con la chiave-certificata.
In pratica il mio file deve integrare qualcosa simile a quello mostrato.

kingv
20-04-2006, 09:21
openssl sha1 -sign file.chiave -out file.firma file.dafirmare

Potato Head
20-04-2006, 14:52
Si, ma cosi facendo mi crea un file di destinazione da 100kb e non mi integra il certificato nel file.

Io dovrei ottenere un file che contenga al suo interno una copia del certificato, come quello che ho allegato.
Purtroppo non riesco a capire se è solo certificato o anche compresso

kingv
20-04-2006, 20:41
non ho capito bene quello di cui hai bisogno.
il file che hai postato all'inizio è la concatenazione della rappresentazione testuale del certificato con il certificato stesso in formato PEM.
devi ottenerne un altro simile o lo hai già creato?
per ottenerlo (partendo dal PEM contenente solo il certificato):
openssl x509 -in certificato.crt -text

se poi devi ottenere la firma digitale di un file il comando è quello che ti ho suggerito dopo, ma è impossibile che una firma sia di 100 kb

Potato Head
20-04-2006, 20:58
il file che ho postato all'inizio è il certificato txt collo stesso, che trovo nel file certificato dato come esempio nel sw beta, aprendolo con notepad.

partendo da un altro file devo ottenere un file firmato che contenga il nuovo certificato, come avveniva prima.
Usando "openssl sha1 -sign file.chiave -out file.firma file.dafirmare" e dandogli in imput il mio file ottengo un file di 100kb senza nessuna pertinenza col vecchio file e soprattutto senza certificato all'interno..

ciao e scusa se non dovessi essere stato chiaro

kingv
20-04-2006, 23:46
la beta di questo sw è pubblicamente scaricabile?

Potato Head
21-04-2006, 00:21
Si, dal sito. Beta e file di esempio.

kingv
21-04-2006, 08:46
Si, dal sito. Beta e file di esempio.


se mi dai il link lo scarico e ci guardo.
per che sistema operativo è?