if(ca) return check_purpose_ssl_client(xp, x, 1);
if(ca) return check_ssl_ca(x);
static int check_purpose_ssl_server(X509_PURPOSE *xp, X509 *x, int ca){	if(xku_reject(x,XKU_SSL_SERVER|XKU_SGC)) return 0;	/* Otherwise same as SSL client for a CA */	if(ca) return check_purpose_ssl_client(xp, x, 1);	if(ns_reject(x, NS_SSL_SERVER)) return 0;	/* Now as for keyUsage: we'll at least need to sign OR encipher */	if(ku_reject(x, KU_DIGITAL_SIGNATURE|KU_KEY_ENCIPHERMENT)) return 0;		return 1;}