mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-12-26 03:27:31 +00:00
X509: add getOID() method
This commit is contained in:
parent
e391fdbd27
commit
d7d9d782b0
@ -4614,4 +4614,27 @@ class File_X509
|
||||
$temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false;
|
||||
return $temp != false ? $temp : $str;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the OID corresponding to a name
|
||||
*
|
||||
* What's returned in the associative array is either a name or an OID if no OID to name mapping is available.
|
||||
* The problem with this is that what may be an unmapped OID in one version of phpseclib may not be unmapped
|
||||
* in the next version, so apps that are looking at this OID may not be able to work from version to version.
|
||||
*
|
||||
* This method will return the OID if a name is passed to it and if no mapping is avialable it'll assume that
|
||||
* what's being passed to it already is an OID and return that instead. A few examples.
|
||||
*
|
||||
* getOID('2.16.840.1.101.3.4.2.1') == '2.16.840.1.101.3.4.2.1'
|
||||
* getOID('id-sha256') == '2.16.840.1.101.3.4.2.1'
|
||||
* getOID('zzz') == 'zzz'
|
||||
*
|
||||
* @access public
|
||||
* @return String
|
||||
*/
|
||||
function getOID($name)
|
||||
{
|
||||
$idx = array_search($name, $this->oids);
|
||||
return $idx === false ? $name : $idx;
|
||||
}
|
||||
}
|
||||
|
@ -214,4 +214,12 @@ aBtsWpliLSex/HHhtRW9AkBGcq67zKmEpJ9kXcYLEjJii3flFS+Ct/rNm+Hhm1l7
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function testGetOID()
|
||||
{
|
||||
$x509 = new File_X509();
|
||||
$this->assertEquals($x509->getOID('2.16.840.1.101.3.4.2.1'), '2.16.840.1.101.3.4.2.1');
|
||||
$this->assertEquals($x509->getOID('id-sha256'), '2.16.840.1.101.3.4.2.1');
|
||||
$this->assertEquals($x509->getOID('zzz'), 'zzz');
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user