openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5)

openssl_x509_checkpurposeSertifikanın belli bir amaçla kulanılıp kullanılmayacağına bakar

Açıklama

int openssl_x509_checkpurpose ( mixed $x509sert , int $amaç [, array $CA_bilgisi [, string $güvencesiz_dosya ]] )

Belirtilen sertifikanın belirtilen amaç için kullanılıp kullanılmayacağına bakar.

Değiştirgeler

x509sert

openssl_x509_read() tarafından döndürülen bir X509 sertifika özkaynağı.

amaç

openssl_x509_checkpurpose() amaçlar
Sabit Açıklama
X509_PURPOSE_SSL_CLIENT Sertifika, bir SSL bağlantısının istemci tarafı için kullanılabilir mi?
X509_PURPOSE_SSL_SERVER Sertifika, bir SSL bağlantısının sunucu tarafı için kullanılabilir mi?
X509_PURPOSE_NS_SSL_SERVER Sertifika, Netscape SSL sunucusu için kullanılabilir mi?
X509_PURPOSE_SMIME_SIGN Sertifika, S/MIME epostaları imzalamak için kullanılabilir mi?
X509_PURPOSE_SMIME_ENCRYPT Sertifika, S/MIME epostaları şifrelemek için kullanılabilir mi?
X509_PURPOSE_CRL_SIGN Sertifika, bir sertifika yürürlükten kaldırma listesi (CRL) için kullanılabilir mi?
X509_PURPOSE_ANY Sertifika, her türlü amaç için kullanılabilir mi?
Bu seçenekler bit alanları değildir, dolayısıyla sadece biri belirtilebilir!

CA_bilgisi

Sertifika Doğrulama bölümünde açıklandığı gibi güvenilir yetkili sertifika dosya ve dizinlerini içeren bir dizi olmalıdır.

güvencesiz_dosya

Belirtildiği takdirde, sertifikayı doğrulamaya yardımcı olacak sertifikaların bulunduğu PEM kodlamalı dosyanın (bu dosyadan gelen sertifikalara güvenilmez ise de) ismi olmalıdır.

Dönen Değerler

Sertifika belirtilen amaç için kullanılabiliyorsa TRUE, kullanılamıyorsa FALSE, bir hata oluşmuşsa -1 döner.

add a note add a note

User Contributed Notes 2 notes

up
0
adr at NOSPAM dot entropymatrix dot com
1 year ago
The following is an example usage of openssl_x509_checkpurpose. It is equivalent to the openssl verify command as follows:
openssl verify -CApath $openssl_cadir -purpose sslserver $openssl_crtfile

<?php
$openssl_crtfile
='auth.combined.pem';
$openssl_cadir='./ca';

$x509_res = openssl_x509_read(file_get_contents($openssl_crtfile));
if(empty(
$x509_res)) {
        echo
'x509 cert could not be read'."\n";
}
$valid = openssl_x509_checkpurpose($x509_res,X509_PURPOSE_SSL_SERVER,array($openssl_cadir));
if (
$valid === true) {
        echo
'Certificate is valid for use as SSL server'."\n";
} else {
        echo
'Certificate validation returned'.$valid."\n";
}
?>
up
-1
chaoszcat at gmail dot com
2 years ago
Few days ago I dual boot my system into Windows 8 and play around with it, and then I boot it back to windows 7, and all of sudden this function fails by returning me 0 all the time.

Spent almost two hours digging google for no result, I almost end my research.

Then (I don't know why) I did a system time update (synchronize with time.nist.gov), and all of sudden, this function returns me 1 (true).

It's true that when I boot back to Windows 7 my time has been screwed by a few hours later than my current time, and I did a manual change on it. I doubt this has anything to do with this function?

Hope it helps.

Keywords: google discovery, openid, discovery
Platform: Windows 7 64bit, PHP 5.3.13
To Top