View Issue Details

IDProjectCategoryView StatusLast Update
000932810000-012: DiscoverySpecpublic2024-03-03 09:43
Reporterjackvisoky Assigned Torandyarmstrong  
PrioritynormalSeveritymajorReproducibilitysometimes
Status resolvedResolutionduplicate 
Product Version1.05.02 
Summary0009328: UpdateCertificate method has no way to include a CRL
Description

The UpdateCertificate method, as defined in Party 12, has no way of including a CRL. A stack following the specification exactly will not allow this method to actually update a certificate because it cannot be verified. A CRL could be loaded separately, but one of the use cases described for UpdateCertificate is for a new certificate based on a new signing request, in which case there would not be a previous CRL. A simple fix would be to include a parameter for a CRL in this method.

Steps To Reproduce

See above.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

duplicate of 0009247 resolvedrandyarmstrong Definition of "normal integrity checks" for the ServerConfiguration.UpdateCertificate method 

Activities

randyarmstrong

2023-12-21 22:25

administrator   ~0020547

The GDS is expected to update the trustlist first with the CA and the new CRL.

If the UpdateCertificate is missing a CRL needed to validate the new cert it should return applyChangesRequired=true and check if the CRL was uploaded as a separate operation.

randyarmstrong

2024-01-10 23:31

administrator   ~0020605

Regarding this issue which was discussed today (Jan 10, 2024) in the Security WG meeting. I spoke with an engineer at my company on this and got a little more clarity. The proposed workflow of updating the
TrustList
first and then provisioning the
Certificate
is perfectly fine. However, the issue/question is regarding the text in Part 12. In Part 12, the
UpdateCertificate
method has a parameter "issuerCertificates", with the description "The issuer
Certificates
needed to verify the signature on the new
Certificate
". This implies that rather than using an existing
TrustList
this parameter is used to verify the
Certificate
, in which case we have this problem of not having a CRL. So I think if we want to use the workflow where an existing
TrustList
verifies the
Certificate
then we should update the spec to be clear about that.

[1:06 PM] Randy Armstrong (OPC)
The issuers argument should be deprecated with text indicating the transaction approach

randyarmstrong

2024-03-03 09:43

administrator   ~0020890

The Server shall follow the validation process defined in OPC 10000-4 on the Certificate and all of the issuer Certificates. If errors occur the Bad_SecurityChecksFailed error is returned. Note that the validation process requires that the TrustList associated with the CertificateGroup already contain the Issuer Certificates and their CRLs or that the issuers support online CRL checks.

Issue History

Date Modified Username Field Change
2023-12-21 21:00 jackvisoky New Issue
2023-12-21 22:25 randyarmstrong Assigned To => randyarmstrong
2023-12-21 22:25 randyarmstrong Status new => resolved
2023-12-21 22:25 randyarmstrong Resolution open => no change required
2023-12-21 22:25 randyarmstrong Note Added: 0020547
2024-01-10 23:31 randyarmstrong Status resolved => assigned
2024-01-10 23:31 randyarmstrong Note Added: 0020605
2024-03-03 09:42 randyarmstrong Relationship added duplicate of 0009247
2024-03-03 09:43 randyarmstrong Status assigned => resolved
2024-03-03 09:43 randyarmstrong Resolution no change required => duplicate
2024-03-03 09:43 randyarmstrong Note Added: 0020890