Il s'avère que ce fichier est en fait le bloc EC PARAMETERS
pour une clé EC, pas un certificat. J'ai découvert cela en vidant les structures ASN.1 et en les comparant à une autre clé EC que j'ai générée.
$ openssl asn1parse -in test.pem -i -dump
0:d=0 hl=3 l= 146 cons: SEQUENCE
3:d=1 hl=2 l= 1 prim: INTEGER :01
6:d=1 hl=2 l= 40 cons: SEQUENCE
8:d=2 hl=2 l= 7 prim: OBJECT :prime-field
17:d=2 hl=2 l= 29 prim: INTEGER :FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D
48:d=1 hl=2 l= 6 cons: SEQUENCE
50:d=2 hl=2 l= 1 prim: OCTET STRING
0001 - <SPACES/NULS>
53:d=2 hl=2 l= 1 prim: OCTET STRING
0000 - 05 .
56:d=1 hl=2 l= 57 prim: OCTET STRING
0000 - 04 a1 45 5b 33 4d f0 99-df 30 fc 28 a1 69 a4 67 ..E[3M...0.(.i.g
0010 - e9 e4 70 75 a9 0f 7e 65-0e b6 b7 a4 5c 7e 08 9f ..pu..~e....\~..
0020 - ed 7f ba 34 42 82 ca fb-d6 f7 e3 19 f7 c0 b0 bd ...4B...........
0030 - 59 e2 ca 4b db 55 6d 61-a5 Y..K.Uma.
115:d=1 hl=2 l= 29 prim: INTEGER :010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7
146:d=1 hl=2 l= 1 prim: INTEGER :01
Fixation des en-têtes vous permet de lire le fichier comme ceci:
$ openssl ecparam -in test.pem -text
Field Type: prime-field
Prime:
00:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:
ff:ff:ff:ff:ff:ff:ff:ff:ff:fe:ff:ff:e5:6d
A: 0
B: 5 (0x5)
Generator (uncompressed):
04:a1:45:5b:33:4d:f0:99:df:30:fc:28:a1:69:a4:
67:e9:e4:70:75:a9:0f:7e:65:0e:b6:b7:a4:5c:7e:
08:9f:ed:7f:ba:34:42:82:ca:fb:d6:f7:e3:19:f7:
c0:b0:bd:59:e2:ca:4b:db:55:6d:61:a5
Order:
01:00:00:00:00:00:00:00:00:00:00:00:00:00:01:
dc:e8:d2:ec:61:84:ca:f0:a9:71:76:9f:b1:f7
Cofactor: 1 (0x1)
-----BEGIN EC PARAMETERS-----
MIGSAgEBMCgGByqGSM49AQECHQD///////////////////////////////7//+Vt
MAYEAQAEAQUEOQShRVszTfCZ3zD8KKFppGfp5HB1qQ9+ZQ62t6Rcfgif7X+6NEKC
yvvW9+MZ98CwvVniykvbVW1hpQIdAQAAAAAAAAAAAAAAAAAB3OjS7GGEyvCpcXaf
sfcCAQE=
-----END EC PARAMETERS-----
Ce qui est une version plus bien formaté de la sortie précédente. Notez le bon BEGIN EC PARAMETERS
au lieu de BEGIN CERTIFICATE
en-tête. Le bloc principal est montré dans la sortie ci-dessus.
Le contenu que vous avez présenté n'est pas un certificat numérique. Cela ressemble à des détails sur les paramètres associés à une courbe particulière (structure ASN.1 ECParameter). – Crypt32
Ceci fait partie d'un travail sur les signatures numériques. Il dit que je dois faire une opération avec le nombre premier p qui peut être trouvé dans le fichier avec l'extension .der. Je parviens à convertir l'extension .der en .crt et j'ai obtenu ce texte mais je ne peux pas le comprendre, car c'est le p en raison du séparateur '/'. – student
En fait, il s'agit d'un tableau d'octets codé en Base64 de paramètres de clé de courbe elliptique codés en DER ASN.1, de sorte que les barres obliques ne sont pas des séparateurs. Avec OpenSSL, vous pouvez essayer cette commande contre votre fichier: 'openssl ecparam -dans secp256k1.pem -text -param_enc explicite -noout', où' secp256k1.pem' est votre fichier .der. – Crypt32