This method initiates an asynchronous operation to generate a new certificate request and return it as a Public-Key Cryptography Standards (PKCS) #10-formatted buffer. This request is intended to be transferred to an authorization server (over HTTPS + XSTS Token) so it can issue a client IPsec certificate representing the console in that security realm. Representing a particular user or set of users on the console is not recommended, as the network stack does not enforce updates to this certificate authorization when users change.
public:
IAsyncOperation<IBuffer^ >^ CreateCertificateRequestAsync(
String^ subjectName
)
subjectName
Type: String
The Relative Distinguished Name (RDN) to be used as the certificate subject. Apps can define this string to be whatever suits their authorization scheme, using the string-ified format described in RFC 4514.
Type: IAsyncOperation<IBuffer^ >
On successful completion, the buffer returned by this method contains a single generated public/private key pair and prepares for a single certificate to be used across all Secure Device Associations established using templates referencing the particular relying party. That certificate must subsequently be provided to Xbox Secure Sockets via the InstallCertificateAsync method. The subject name of that installed certificate must match the one specified to CreateCertificateRequestAsync as subjectName.
In the current implementation, neither the private key nor the certificate request is persisted beyond the life of the application.
Xbox Secure Sockets currently always generates a 2048-bit RSA public key, signed with SHA-1 (OID 1.3.14.3.2.29).
When acting on the certificate request buffer, titles should not generate an IPsec certificate that is valid for longer than the XSTS Single-Sign-On (SSO) token used to present the request and form the basis of authorization. Apps are currently required to manage certificate lifetime themselves and request/issue a new certificate when appropriate.
This method cannot be invoked on Secure Device Association Templates that do not have a relying party declared in the network manifest.
Only one certificate request for a relying party can be “outstanding: at a given time. Calling CreateCertificateRequestAsync fails if a previous operation completed successfully but has not been accompanied by a corresponding successful InstallCertificateAsync action. This includes requests generated by other templates declaring the same relying party string.
Namespace: Windows.Xbox.Networking
Metadata: windows.winmd
SecureDeviceAssociationTemplate Class