@@ -843,4 +843,126 @@ CONF *php_openssl_nconf_new(void)
843843	return  NCONF_new_ex (PHP_OPENSSL_LIBCTX , NULL );
844844}
845845
846+ X509  * php_openssl_pem_read_asn1_bio_x509 (BIO  * in )
847+ {
848+ 	X509  * x  =  X509_new_ex (PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
849+ 
850+ 	if  (x  ==  NULL ) {
851+ 		return  NULL ;
852+ 	}
853+ 
854+ 	if  (PEM_ASN1_read_bio ((d2i_of_void  * )d2i_X509 , PEM_STRING_X509 , in , (void  * * ) & x , NULL , NULL ) ==  NULL ) {
855+ 		X509_free (x );
856+ 		return  NULL ;
857+ 	}
858+ 
859+ 	return  x ;
860+ }
861+ 
862+ X509  * php_openssl_pem_read_bio_x509 (BIO  * in )
863+ {
864+ 	X509  * x  =  X509_new_ex (PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
865+ 
866+ 	if  (x  ==  NULL ) {
867+ 		return  NULL ;
868+ 	}
869+ 
870+ 	if  (PEM_read_bio_X509 (in , & x , NULL , NULL ) ==  NULL ) {
871+ 		X509_free (x );
872+ 		return  NULL ;
873+ 	}
874+ 
875+ 	return  x ;
876+ }
877+ 
878+ X509_REQ  * php_openssl_pem_read_bio_x509_req (BIO  * in )
879+ {
880+ 	X509_REQ  * xr  =  X509_REQ_new_ex (PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
881+ 
882+ 	if  (xr  ==  NULL ) {
883+ 		return  NULL ;
884+ 	}
885+ 
886+ 	if  (PEM_read_bio_X509_REQ (in , & xr , NULL , NULL ) ==  NULL ) {
887+ 		X509_REQ_free (xr );
888+ 		return  NULL ;
889+ 	}
890+ 
891+ 	return  xr ;
892+ }
893+ 
894+ EVP_PKEY  * php_openssl_pem_read_bio_public_key (BIO  * in )
895+ {
896+ 	return  PEM_read_bio_PUBKEY_ex (in , NULL , NULL , NULL , PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
897+ }
898+ 
899+ EVP_PKEY  * php_openssl_pem_read_bio_private_key (BIO  * in , pem_password_cb  * cb , void  * u )
900+ {
901+ 	return  PEM_read_bio_PrivateKey_ex (in , NULL , cb , u , PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
902+ }
903+ 
904+ PKCS7  * php_openssl_pem_read_bio_pkcs7 (BIO  * in )
905+ {
906+ 	PKCS7  * p  =  PKCS7_new_ex (PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
907+ 
908+ 	if  (p  ==  NULL ) {
909+ 		return  NULL ;
910+ 	}
911+ 
912+ 	if  (PEM_read_bio_PKCS7 (in , & p , NULL , NULL ) ==  NULL ) {
913+ 		PKCS7_free (p );
914+ 		return  NULL ;
915+ 	}
916+ 
917+ 	return  p ;
918+ }
919+ 
920+ CMS_ContentInfo  * php_openssl_pem_read_bio_cms (BIO  * in )
921+ {
922+ 	CMS_ContentInfo  * ci  =  CMS_ContentInfo_new_ex (PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
923+ 
924+ 	if  (ci  ==  NULL ) {
925+ 		return  NULL ;
926+ 	}
927+ 
928+ 	if  (PEM_read_bio_CMS (in , & ci , NULL , NULL ) ==  NULL ) {
929+ 		CMS_ContentInfo_free (ci );
930+ 		return  NULL ;
931+ 	}
932+ 
933+ 	return  ci ;
934+ }
935+ 
936+ CMS_ContentInfo  * php_openssl_d2i_bio_cms (BIO  * in )
937+ {
938+ 	CMS_ContentInfo  * ci  =  CMS_ContentInfo_new_ex (PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
939+ 
940+ 	if  (ci  ==  NULL ) {
941+ 		return  NULL ;
942+ 	}
943+ 
944+ 	if  (d2i_CMS_bio (in , & ci ) ==  NULL ) {
945+ 		CMS_ContentInfo_free (ci );
946+ 		return  NULL ;
947+ 	}
948+ 
949+ 	return  ci ;
950+ }
951+ 
952+ CMS_ContentInfo  * php_openssl_smime_read_cms (BIO  * bio , BIO  * * bcont )
953+ {
954+ 	CMS_ContentInfo  * ci  =  CMS_ContentInfo_new_ex (PHP_OPENSSL_LIBCTX , PHP_OPENSSL_PROPQ );
955+ 
956+ 	if  (ci  ==  NULL ) {
957+ 		return  NULL ;
958+ 	}
959+ 
960+ 	if  (SMIME_read_CMS_ex (bio , 0 , bcont , & ci ) ==  NULL ) {
961+ 		CMS_ContentInfo_free (ci );
962+ 		return  NULL ;
963+ 	}
964+ 
965+ 	return  ci ;
966+ }
967+ 
846968#endif 
0 commit comments