| 
					
				 | 
			
			
				@@ -0,0 +1,33 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Subject: Openssl: handle NULL in jose_openssl_jwk_from_EC_KEY gracefully (#172) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Origin: upstream, commit v14-7-g5aaaaf6 <https://github.com/latchset/jose/commit/v14-7-g5aaaaf6> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Author: Ahmad Fatoum <ahmad@a3f.at> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Date: Wed Jul 9 14:21:37 2025 +0200 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    We already check that the RSA *key is not NULL in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    jose_openssl_jwk_from_RSA(), but fail to do so for EC_KEY *key in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    jose_openssl_jwk_from_EC_KEY(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    But EVP_PKEY_get0_EC_KEY() can return NULL too, e.g., if 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    the EVP_PKEY comes from an OpenSSL provider that is not creating a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    keymgmt instance for a public key and the default provider is not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    loaded[1]. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Instead of crashing inside OpenSSL when we pass a NULL pointer to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    EC_KEY_get0_private_key(), detect this case and return gracefully. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    [1]: https://github.com/openssl/openssl/discussions/25679 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+--- a/lib/openssl/jwk.c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++++ b/lib/openssl/jwk.c 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@@ -140,6 +140,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ json_t * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ jose_openssl_jwk_from_EC_KEY(jose_cfg_t *cfg, const EC_KEY *key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++    if (!key) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++        return NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				++ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     return jose_openssl_jwk_from_EC_POINT( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         cfg, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         EC_KEY_get0_group(key), 
			 |