Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							d9ca94a677 
							
						 
					 
					
						
						
							
							Updated merged pk.c and x509parse.c changes with new memory allocation functions  
						
						
						
						
					 
					
						2013-07-25 11:25:09 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							ab2d9836b4 
							
						 
					 
					
						
						
							
							Fix some ifdef's in x509parse  
						
						... 
						
						
						
						While at it:
- move _rsa variants systematically after generic functions
- unsplit x509parse_key_pkcs8_encrypted_der() (reverts a5d9974) 
						
						
					 
					
						2013-07-17 15:59:44 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							96f3a4e1b3 
							
						 
					 
					
						
						
							
							Rm ecp_keypair.alg  
						
						... 
						
						
						
						Avoid duplicating information already present in pk_context. 
						
						
					 
					
						2013-07-17 15:59:44 +02:00 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							e366342233 
							
						 
					 
					
						
						
							
							Implement x509parse_key_sec1_der()  
						
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							73c0cda346 
							
						 
					 
					
						
						
							
							Complete x509parse_public_key_ec()  
						
						... 
						
						
						
						Warning: due to a bug in oid_descriptor_from_buf(), keys associated to some
curves (secp224r1, secp384r1, secp521r1) are incorrectly rejected,
since their namedCurve OID contains a nul byte. 
						
						
					 
					
						2013-07-08 17:32:26 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							f838eeda09 
							
						 
					 
					
						
						
							
							Add x509_get_ecparams()  
						
						
						
						
					 
					
						2013-07-08 17:32:26 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							444b42710a 
							
						 
					 
					
						
						
							
							Optionally allow parameters in x509_get_tag()  
						
						
						
						
					 
					
						2013-07-08 17:32:26 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							26833c2fc6 
							
						 
					 
					
						
						
							
							Add stubs for x509parse_key_ec and co.  
						
						
						
						
					 
					
						2013-07-08 15:31:19 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							4250a1f818 
							
						 
					 
					
						
						
							
							Fix a comment and some whitespace  
						
						
						
						
					 
					
						2013-07-08 15:31:18 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
						
						
							
						
						
							ba4878aa64 
							
						 
					 
					
						
						
							
							Rename x509parse_key & co with _rsa suffix  
						
						
						
						
					 
					
						2013-07-08 15:31:18 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							fa9b10050b 
							
						 
					 
					
						
						
							
							Also compiles / runs without time-based functions in OS  
						
						... 
						
						
						
						Can now run without need of time() / localtime() and gettimeofday() 
						
						
					 
					
						2013-07-03 17:22:32 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							6e339b52e8 
							
						 
					 
					
						
						
							
							Memory-allocation abstraction layer and buffer-based allocator added  
						
						
						
						
					 
					
						2013-07-03 17:22:31 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							e5bffc319d 
							
						 
					 
					
						
						
							
							Removed redundant includes  
						
						
						
						
					 
					
						2013-06-30 14:53:06 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							d2681d82e2 
							
						 
					 
					
						
						
							
							Renamed sha2.{c,h} to sha256.{c,h} and sha4.{c,h} to sha512.{c,h}  
						
						
						
						
					 
					
						2013-06-30 14:49:12 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							9e36f0475f 
							
						 
					 
					
						
						
							
							SHA2 renamed to SHA256, SHA4 renamed to SHA512 and functions accordingly  
						
						... 
						
						
						
						The SHA4 name was not clear with regards to the new SHA-3 standard. So
SHA2 and SHA4 have been renamed to better represent what they are:
SHA256 and SHA512 modules. 
						
						
					 
					
						2013-06-30 14:34:05 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							f8d018a274 
							
						 
					 
					
						
						
							
							Made asn1_get_alg() and asn1_get_alg_null() as generic functions  
						
						... 
						
						
						
						A generic function for retrieving the AlgorithmIdentifier structure with
its parameters and adapted X509, PKCS#5 and PKCS#12 to use them. 
						
						
					 
					
						2013-06-29 18:35:40 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							7749a22974 
							
						 
					 
					
						
						
							
							Moved PKCS#12 cipher layer based PBE detection to use OID database  
						
						
						
						
					 
					
						2013-06-29 18:32:16 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							b6c5d2e1a6 
							
						 
					 
					
						
						
							
							Cleanup up non-prototyped functions (static) and const-correctness  
						
						... 
						
						
						
						More fixes based on the compiler directives -Wcast-qual -Wwrite-strings
-Wmissing-prototypes -Wmissing-declarations. Not everything with regards
to -Wcast-qual has been fixed as some have unwanted consequences for the
rest of the code. 
						
						
					 
					
						2013-06-25 16:25:17 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							bda7cb76fa 
							
						 
					 
					
						
						
							
							Fixed minor comment typo  
						
						... 
						
						
						
						(cherry picked from commit da7fdbd534cb479d333de4c183cf805736ea3e10) 
						
						
					 
					
						2013-06-25 15:06:54 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							38b50d73a1 
							
						 
					 
					
						
						
							
							Moved PKCS#12 PBE functions to cipher / md layer where possible  
						
						... 
						
						
						
						The 3-key and 2-key Triple DES PBE functions have been replaced with a
single pkcs12_pbe() function that handles both situations (and more).
In addition this allows for some PASSWORD_MISMATCH checking
(cherry picked from commit 14a222cef2699bd3da884662f7e56e097a12b1a0) 
						
						
					 
					
						2013-06-25 15:06:53 +02:00 
						 
				 
			
				
					
						
							
							
								Paul Bakker 
							
						 
					 
					
						
						
						
						
							
						
						
							a4232a7ccb 
							
						 
					 
					
						
						
							
							x509parse_crt() and x509parse_crt_der() return X509 password related codes  
						
						... 
						
						
						
						POLARSSL_ERR_X509_PASSWORD_MISMATCH is returned instead of
POLARSSL_ERR_PEM_PASSWORD_MISMATCH and
POLARSSL_ERR_X509_PASSWORD_REQUIRED instead of
POLARSSL_ERR_PEM_PASSWORD_REQUIRED
Rationale: For PKCS#8 encrypted keys the same are returned
(cherry picked from commit b495d3a2c755f9fd3c8b755d78d7a92d66245c57) 
						
						
					 
					
						2013-06-25 15:06:53 +02:00