Описание класса \CPCertificate

This commit is contained in:
Artem Vasilev 2021-12-14 20:39:48 +03:00
parent f92022a3a4
commit f4c6bf3b89

View File

@ -1,44 +1,304 @@
<?php <?php
/**
* Описывает сертификат открытого ключа.
* Реализует интерфейс, аналогичный интерфейсу объекта CAPICOM.Certificate, а также интерфейсы ICPCertificate и IAdditionalStore.
*
* @link https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_class/cpcertificate
* @link https://docs.microsoft.com/en-us/windows/win32/seccrypto/certificate
*
* @property-read string $SerialNumber
* @property-read string $Thumbprint
* @property-read string $SubjectName
* @property-read string $IssuerName
* @property-read int $Version
* @property-read string|DateTime $ValidToDate
* @property-read string|DateTime $ValidFromDate
*/
class CPCertificate class CPCertificate
{ {
/**
* Возвращает информацию из сертификата.
*
* @param int $InfoType Указывает, какой тип данных извлекается из сертификата.
* Может принимать следующие значения:
* <table>
* <thead>
* <tr>
* <th>Значение</th>
* <th>Пояснение</th>
* </tr>
* </thead>
* <tbody>
* <tr>
* <td>
* CERT_INFO_SUBJECT_SIMPLE_NAME
* </td>
* <td>
* Returns the display name from the certificate subject.
* </td>
* </tr>
* <tr>
* <td>
* CERT_INFO_ISSUER_SIMPLE_NAME
* </td>
* <td>
* Returns the display name of the issuer of the certificate.
* </td>
* </tr>
* <tr>
* <td>
* CERT_INFO_SUBJECT_EMAIL_NAME
* </td>
* <td>
* Returns the email address of the certificate subject.
* </td>
* </tr>
* <tr>
* <td>
* CERT_INFO_ISSUER_EMAIL_NAME
* </td>
* <td>
* Returns the email address of the issuer of the certificate.
* </td>
* </tr>
* <tr>
* <td>
* CERT_INFO_SUBJECT_UPN
* </td>
* <td>
* Returns the UPN of the certificate subject. Introduced in CAPICOM 2.0.
* </td>
* </tr>
* <tr>
* <td>
* CERT_INFO_ISSUER_UPN
* </td>
* <td>
* Returns the UPN of the issuer of the certificate. Introduced in CAPICOM 2.0.
* </td>
* </tr>
* <tr>
* <td>
* CERT_INFO_SUBJECT_DNS_NAME
* </td>
* <td>
* Returns the DNS name of the certificate subject. Introduced in CAPICOM 2.0.
* </td>
* </tr>
* <tr>
* <td>
* CERT_INFO_ISSUER_DNS_NAME
* </td>
* <td>
* Returns the DNS name of the issuer of the certificate. Introduced in CAPICOM 2.0.
* </td>
* </tr>
* </tbody>
* </table>
*
* @return string
*/
public function GetInfo(int $InfoType)
{
}
public function __construct(){} /**
* Производит поиск закрытого ключа соответствующего сертификату открытого ключа
* и устанавливает ссылку на него.
* В случае отсутствия в системе подходящего ключа порождает исключение.
*
* @throws \Exception
* @return mixed
*
*/
public function FindPrivateKey()
{
}
public function GetInfo(){} /**
* Имеется ли закрытый ключ для сертификата.
*
* @return bool
*/
public function HasPrivateKey()
{
}
public function FindPrivateKey(){} /**
* Является ли сертификат валидным.
*
* @return CPCertificateStatus
*/
public function IsValid()
{
}
public function HasPrivateKey(){} /**
* Возвращает объект ExtendedKeyUsage для данного сертификата.
*
* @return CPExtendedKeyUsage
*/
public function ExtendedKeyUsage()
{
}
public function IsValid(){} /**
* Возвращает объект KeyUsage для данного сертификата.
*
* @return CPKeyUsage
*/
public function KeyUsage()
{
}
public function ExtendedKeyUsage(){} /**
* Экспортирует сертификат в виде закодированной строки.
*
* @param int|string $EncodingType Тип кодировки для операции экспорта.
* Может принимать следующие значения:
* <table>
* <thead>
* <tr>
* <th>Значение</th>
* <th>Пояснение</th>
* </tr>
* </thead>
* <tbody>
* <tr>
* <td>
* ENCODE_ANY
* </td>
* <td>
* This encoding type is used only when the input data has an unknown encoding type.
* If this value is used to specify the output's encoding type,
* CAPICOM_ENCODE_BASE64 will be used instead.
* </td>
* </tr>
* <tr>
* <td>
* ENCODE_BASE64
* </td>
* <td>
* Data is saved as a base64-encoded string.
* </td>
* </tr>
* <tr>
* <td>
* ENCODE_BINARY
* </td>
* <td>
* Data is saved as a pure binary sequence.
* </td>
* </tr>
* </tbody>
* </table>
*
* @return string
*/
public function Export($EncodingType = ENCODE_BASE64)
{
}
public function KeyUsage(){} /**
* Импортирует сертификат из закодированной строки.
*
* @param string $EncodedCertificate Строка, содержащая закодированные данные сертификата для импорта.
*
* @return void
*/
public function Import(string $EncodedCertificate)
{
}
public function Export(){} /**
* Серийный номер.
*
* @return string
*/
public function get_SerialNumber()
{
}
public function Import(){} /**
* Отпечаток.
*
* @return string
*/
public function get_Thumbprint()
{
}
public function get_SerialNumber(){} /**
* Имя субъекта.
*
* @return string
*/
public function get_SubjectName()
{
}
public function get_Thumbprint(){} /**
* Издатель сертификата.
*
* @return string
*/
public function get_IssuerName()
{
}
public function get_SubjectName(){} /**
* Версия сертификата.
*
* @return int
*/
public function get_Version()
{
}
public function get_IssuerName(){} /**
* Дата, до которой сертификат действителен.
*
* @return string|DateTime
*/
public function get_ValidToDate()
{
}
public function get_Version(){} /**
* Дата, с которой сертификат действителен.
*
* @return string|DateTime
*/
public function get_ValidFromDate()
{
}
public function get_ValidToDate(){} /**
* Возвращает объект BasicConstraints для данного сертификата.
*
* @return CPBasicConstraints
*/
public function BasicConstraints()
{
}
public function get_ValidFromDate(){} /**
* Возвращает объект PublicKey для данного сертификата.
*
* @return CPPublicKey
*/
public function PublicKey()
{
}
public function BasicConstraints(){} /**
* Закрытый ключ.
public function PublicKey(){} *
* @return CPPrivateKey
public function PrivateKey(){} */
public function PrivateKey()
{
}
} }