mirror of
https://github.com/danog/phpseclib.git
synced 2024-11-27 04:46:26 +01: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;
|
$temp = preg_match('#^[a-zA-Z\d/+]*={0,2}$#', $temp) ? base64_decode($temp) : false;
|
||||||
return $temp != false ? $temp : $str;
|
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;
|
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