7.10.7 DeleteCertificate

DeleteCertificate Method a Certificate that is associated with a CertificateGroup.

If no Certificate is assigned to the CertificateType slot then a Bad_InvalidState error is returned.

If a transaction is in progress (see 7.10.9) on another Session then the Server shall return Bad_TransactionPending. If the SecureChannel is not authenticated the Server shall return Bad_SecurityModeInsufficient.

The Server shall continue an existing transaction or create a new transaction if a transaction does not exist.

Certificates that are referenced by EndpointDescriptions shall not be deleted. This determination happens when ApplyChanges is called. ApplyChanges is always required when this Method is called.

The Server is responsible for managing the lifetime of the PrivateKeys associated with the Certificate. When the Certificate is deleted, the Server should delete the associated PrivateKey if no longer needed.

This Method shall be called from an authenticated SecureChannel and from a Client that has access to the SecurityAdmin Role (see 7.2).

Signature

DeleteCertificate(
	[in] NodeId CertificateGroupId
	[in] NodeId CertificateTypeId
);
Argument Description
CertificateGroupIdThe identifier for the CertificateGroup.
CertificateTypeIdThe CertificateType for the Certificate to be deleted.

Method Result Codes (defined in Call Service)

Result Code Description
Bad_UserAccessDeniedThe current user does not have the rights required.
Bad_SecurityModeInsufficientThe SecureChannel is not authenticated.
Bad_TransactionPendingThere is already a transaction active for another session.
Bad_InvalidStateThere is no Certificate assigned to the CertificateType slot.

Table 42 specifies the AddressSpace representation for the DeleteCertificate Method.

Table 91 – DeleteCertificate Method AddressSpace Definition
Attribute Value
BrowseName0:DeleteCertificate
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariable0:InputArguments0:Argument[] 0:PropertyTypeMandatory
Conformance Units
Server ServerConfiguration DeleteCertificate