SignCertificateCsrRequest
in package
implements
JsonSerializable
Body of `POST /api/v1/certificates/sign-csr`. No `subject` and no `key_algorithm`: both are read out of the CSR, which is the only place they can be stated without the row and the certificate being able to disagree. No key is returned, so there is no key field anywhere on this exchange. The CSR's common name meets the rules of `subject` on `POST /api/v1/certificates` (printable, at most 64 characters) and is refused, not rewritten, when it does not. So does the value of every other attribute of the CSR's subject, and a subject with more than one common name is refused.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $certType : CertificateType
- $csrPem : string
- $issuerCaId : string
- $metadata : mixed
- $subjectAltNames : array<string|int, mixed>|null
- $userId : string|null
- $validityDays : int
Methods
- __construct() : mixed
- Constructs a SignCertificateCsrRequest.
- fromArray() : self
- Rebuilds a SignCertificateCsrRequest from one decoded JSON object.
- jsonSerialize() : array<string, mixed>
- Renders this object for `json_encode()`.
- toArray() : array<string, mixed>
- Renders this object back to its wire form.
- unknownEnumValue() : string|null
- The string the server sent for an open-enum member this SDK has no name for, or `null`.
Properties
$certType read-only
public
CertificateType
$certType
$csrPem read-only
public
string
$csrPem
$issuerCaId read-only
public
string
$issuerCaId
$metadata read-only
public
mixed
$metadata
= null
$subjectAltNames read-only
public
array<string|int, mixed>|null
$subjectAltNames
= null
$userId read-only
public
string|null
$userId
= null
$validityDays read-only
public
int
$validityDays
Methods
__construct()
Constructs a SignCertificateCsrRequest.
public
__construct(CertificateType $certType, string $csrPem, string $issuerCaId, int $validityDays[, mixed $metadata = null ][, array<int, SubjectAltNameVariant>|null $subjectAltNames = null ][, string|null $userId = null ]) : mixed
Parameters
- $certType : CertificateType
-
the server's
cert_typefield - $csrPem : string
-
PEM-encoded PKCS#10 request — a
BEGIN CERTIFICATE REQUESTblock. The legacy OpenSSLBEGIN NEW CERTIFICATE REQUESTheader is not accepted. - $issuerCaId : string
-
the server's
issuer_ca_idfield - $validityDays : int
-
Validity duration in days.
- $metadata : mixed = null
-
the server's
metadatafield (optional) - $subjectAltNames : array<int, SubjectAltNameVariant>|null = null
-
See [
CreateCertificateRequest::subject_alt_names]. Stated here and never in the CSR, which is still refused if it requests asubjectAltName. Under a CA whose key is held byvault_pkiaServerrequest on this path is refused; usePOST /api/v1/certificates. (optional) - $userId : string|null = null
-
See [
CreateCertificateRequest::user_id]. (optional)
fromArray()
Rebuilds a SignCertificateCsrRequest from one decoded JSON object.
public
static fromArray(array<string, mixed> $data) : self
Parameters
- $data : array<string, mixed>
-
The raw wire object.
Return values
selfjsonSerialize()
Renders this object for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Any Sensitive it carries stays WRAPPED here, so a log line or a
json_encode($model) in application code prints [SENSITIVE]. The one place a secret
is revealed is ManagementTransport, on the way to the wire
and nowhere else (§27.5).
Rendering for a log line never fails: an unknown union arm renders its discriminator and
an unrecognised enum value its empty Unknown spelling here, and only self::toArray() -- the request path -- refuses to send it (CONTRACT.md §31.2, §34.2
P12.2).
Return values
array<string, mixed>toArray()
Renders this object back to its wire form.
public
toArray() : array<string, mixed>
§27.4 rule 5: a null property is OMITTED, not emitted as null. On a sparse update those two say opposite things — "leave this alone" versus "set this to nothing" — and only omission means the first.
Return values
array<string, mixed>unknownEnumValue()
The string the server sent for an open-enum member this SDK has no name for, or `null`.
public
unknownEnumValue(string $wire) : string|null
Only a model decoded by self::fromArray() knows it, and only for a member that
decoded to Unknown (CONTRACT.md §27.6.2 item 4, §34.8 (c)): it lets a refusal name the
value. It is for messages -- it is never rendered by self::toArray() or self::jsonSerialize() and so is never sent.
Parameters
- $wire : string
-
The member's wire name.