Manuel Pégourié-Gonnard
|
8b863cd641
|
Merge EC & RSA versions of x509_parse_key()
|
2013-07-17 15:59:44 +02:00 |
|
Manuel Pégourié-Gonnard
|
6e88202a95
|
Merge EC & RSA versions of parse_pkcs8_unencrypted
|
2013-07-17 15:59:43 +02:00 |
|
Manuel Pégourié-Gonnard
|
a2d4e644ac
|
Some more EC pubkey parsing refactoring
Fix a bug in pk_rsa() and pk_ec() along the way
|
2013-07-17 15:59:43 +02:00 |
|
Manuel Pégourié-Gonnard
|
1c808a011c
|
Refactor some EC key parsing code
|
2013-07-17 15:59:43 +02:00 |
|
Manuel Pégourié-Gonnard
|
be50680a8c
|
Fix use of x509_cert.rsa in programs
|
2013-07-17 15:59:43 +02:00 |
|
Manuel Pégourié-Gonnard
|
991d0f5aca
|
Remove rsa member from x509_cert structure
|
2013-07-17 15:59:42 +02:00 |
|
Manuel Pégourié-Gonnard
|
ff56da3a26
|
Fix direct uses of x509_cert.rsa, now use pk_rsa()
|
2013-07-17 15:59:42 +02:00 |
|
Manuel Pégourié-Gonnard
|
893879adbd
|
Adapt debug_print_crt() for EC keys
|
2013-07-17 15:59:42 +02:00 |
|
Manuel Pégourié-Gonnard
|
a3c86c334c
|
Certificates with EC key and/or sig parsed
|
2013-07-17 15:59:42 +02:00 |
|
Manuel Pégourié-Gonnard
|
5b18fb04ca
|
Fix bug in x509_get_{ecpubkey,subpubkey}()
- 'p' was not properly updated
- also add a few more checks while at it
|
2013-07-17 15:59:42 +02:00 |
|
Manuel Pégourié-Gonnard
|
360a583029
|
Adapt x509parse_cert_info() for EC
|
2013-07-17 15:59:41 +02:00 |
|
Manuel Pégourié-Gonnard
|
674b2243eb
|
Prepare transition from x509_cert.rsa to pk
|
2013-07-17 15:59:41 +02:00 |
|
Manuel Pégourié-Gonnard
|
a155513e7b
|
Rationalize use of x509_get_alg variants
|
2013-07-17 15:59:41 +02:00 |
|
Manuel Pégourié-Gonnard
|
7a287c409e
|
Rename x509_get_algid() to x509_get_pk_alg()
|
2013-07-17 15:59:41 +02:00 |
|
Manuel Pégourié-Gonnard
|
7c5819eb1e
|
Fix warnings (enum value missing from switch/case)
|
2013-07-17 15:59:41 +02:00 |
|
Manuel Pégourié-Gonnard
|
72ef0b775d
|
Add test certificate signed with ECDSA
|
2013-07-17 15:59:41 +02:00 |
|
Manuel Pégourié-Gonnard
|
2692a30c1b
|
Relax ifdef's in pk.h by analogy with md.h
|
2013-07-17 15:59:41 +02:00 |
|
Manuel Pégourié-Gonnard
|
1e60cd09b0
|
Expand oid_get_sig_alg() for ECDSA-based algs
|
2013-07-17 15:59:40 +02:00 |
|
Manuel Pégourié-Gonnard
|
244569f4b1
|
Use generic x509_get_pubkey() for RSA functions
|
2013-07-17 15:59:40 +02:00 |
|
Manuel Pégourié-Gonnard
|
4fa0476675
|
Use new x509_get_pubkey() in x509parse_public_key()
|
2013-07-17 15:59:40 +02:00 |
|
Manuel Pégourié-Gonnard
|
c296c5925e
|
Introduce generic x509_get_pubkey()
|
2013-07-17 15:59:40 +02:00 |
|
Manuel Pégourié-Gonnard
|
094ad9e512
|
Rename x509_get_pubkey to _rsa and split it up
|
2013-07-17 15:59:40 +02:00 |
|
Manuel Pégourié-Gonnard
|
f16ac763f6
|
Simplify length mismatch check in x509_get_pubkey
|
2013-07-17 15:59:40 +02:00 |
|
Manuel Pégourié-Gonnard
|
20c12f6b5f
|
Factor more code into x509_get_pubkey()
|
2013-07-17 15:59:40 +02:00 |
|
Manuel Pégourié-Gonnard
|
788db112a5
|
Get rid of x509_cert.pkoid
Unused, comment did not match reality, and will soon be superseeded by the
'type' field of the pk_context which will replace rsa_context.
|
2013-07-17 15:59:39 +02:00 |
|
Manuel Pégourié-Gonnard
|
374e4b87d4
|
pk_set_type() cannot be used to reset key type
|
2013-07-17 15:59:39 +02:00 |
|
Manuel Pégourié-Gonnard
|
0a64e8f1fd
|
Rework algorithmIdentifier parsing
|
2013-07-17 15:59:39 +02:00 |
|
Paul Bakker
|
f4a1427ae7
|
base64_decode() also forcefully returns on dst == NULL
|
2013-07-16 17:48:58 +02:00 |
|
Paul Bakker
|
82024bf7b9
|
ssl_server2 now uses alloc_buffer if present and can be 'SERVERQUIT'
|
2013-07-16 17:48:58 +02:00 |
|
Paul Bakker
|
61d113bb7b
|
Init and free new contexts in the right place for SSL to prevent
memory leaks
|
2013-07-16 17:48:58 +02:00 |
|
Paul Bakker
|
8647eecf90
|
Merge branch 'parse-ec-key' into development
|
2013-07-16 17:48:18 +02:00 |
|
Paul Bakker
|
8ea6c61477
|
Rename of prvkey -> privkey fix in test suite files
|
2013-07-16 17:16:58 +02:00 |
|
Manuel Pégourié-Gonnard
|
7d4e5b739e
|
Simplify password check in pem_read_buffer()
|
2013-07-09 16:42:35 +02:00 |
|
Manuel Pégourié-Gonnard
|
791eed3f33
|
Fix portability issue in oid_get_numeric_string()
|
2013-07-09 16:42:35 +02:00 |
|
Manuel Pégourié-Gonnard
|
de44a4aecf
|
Rename ecp_check_prvkey with a 'i' for consistency
|
2013-07-09 16:42:34 +02:00 |
|
Manuel Pégourié-Gonnard
|
81c313ccc6
|
Add #ifdef's on RSA and EC in PK
|
2013-07-09 10:49:09 +02:00 |
|
Manuel Pégourié-Gonnard
|
1f73a65c06
|
Fix ommission in pk_free().
|
2013-07-09 10:42:13 +02:00 |
|
Manuel Pégourié-Gonnard
|
7a6c946446
|
Fix error code in pk.h
|
2013-07-09 10:37:27 +02:00 |
|
Manuel Pégourié-Gonnard
|
8838099330
|
Add x509parse_{,public}_key{,file}()
Also make previously public *_ec functions private.
|
2013-07-08 17:32:27 +02:00 |
|
Manuel Pégourié-Gonnard
|
12e0ed9115
|
Add pk_context and associated functions
|
2013-07-08 17:32:27 +02:00 |
|
Manuel Pégourié-Gonnard
|
d4ec21dd47
|
Add a check for multiple curve specification
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
80300ad0d9
|
Add checks for pk_alg.
Used to be implicitly done by oid_get_pk_alg().
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
a9e54129b5
|
Adapt test files to supported PKCS#8 modes
openssl pkcs8 -topk8 -in ec_prv.sec1.pem -passout pass:polar \
-v1 PBE-SHA1-RC4-128 -outform der -out ec_prv.pk8.pw.der
openssl pkcs8 -topk8 -in ec_prv.sec1.pem -passout pass:polar \
-v1 PBE-SHA1-RC4-128 -outform pem -out ec_prv.pk8.pw.pem
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
9c1cf459dd
|
Implement x509parse_key_pkcs8_encrypted_der_ec()
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
a5d9974423
|
Split up x509_parse_pkcs8_encrypted_der()
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
416fa8fde5
|
Implement x509parse_key_pkcs8_unencrypted_der_ec()
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
f8648d51b1
|
Fix undocumented feature of pem_read_buffer()
Used to work only for RSAPrivateKey content, now accepts ECPrivateKey too,
and may even work with similar enough structures when they appear.
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
e366342233
|
Implement x509parse_key_sec1_der()
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
2b9252cd8f
|
Add tests for x509parse_key_ec()
Test files were generated as follows:
openssl ecparam -name prime192v1 -genkey > key.pem
openssl ec -in key.pem -pubout -outform PEM > pub.pem
openssl ec -in key.pem -pubout -outform DER > pub.der
openssl ec -in key.pem -outform pem > prv.sec1.pem
openssl ec -in key.pem -outform der > prv.sec1.der
openssl ec -in key.pem -des -passout pass:polar -outform pem > prv.sec1.pw.pem
openssl pkcs8 -topk8 -in key.pem -nocrypt -outform pem > prv.pk8.pem
openssl pkcs8 -topk8 -in key.pem -nocrypt -outform der > prv.pk8.der
openssl pkcs8 -topk8 -in key.pem -passout pass:polar -outform der \
> prv.pk8.pw.der
openssl pkcs8 -topk8 -in key.pem -passout pass:polar -outform pem \
> prv.pk8.pw.pem
|
2013-07-08 17:32:26 +02:00 |
|
Manuel Pégourié-Gonnard
|
15e8b82724
|
Fill in x509parse_key_ec using stub function
|
2013-07-08 17:32:26 +02:00 |
|