View Issue Details

IDProjectCategoryView StatusLast Update
000417210000-012: DiscoverySpecpublic2018-03-13 20:05
ReporterMatthias Damm Assigned Torandyarmstrong  
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Summary0004172: Breaking 1.04 change in TrustListType::AddCertificate
Description

The original description of TrustListType::AddCertificate states "allows a Client to add a single Certificate to the Trust List".

1.04 added another paragraph to fix an issue where this is not fix for:
"If the Certificate is issued by a CA then the Client shall provide the entire chain in the certificate argument (see Part 6). After validating the Certificate, the Server shall add the CA Certificates to the Issuers list in the Trust List. The leaf Certificate is added to the list specified by the isTrustedCertificate argument."

This breaks all existing applications (clients and servers) and potentially creates a major security issue.

In the best case, a server takes the first certificat in the chain and puts it in the requested place (trust or issuer list).

In the worst case, a server takes the complete chain and stores it completely in the trust list.

I would expect no existing server is implementig the special logic that was added in 1.04.

In addition it forces a behaviour that is maybe not what the user wants to do. It would not be possible to put two certificates out of the chain into the trust list and the remaining chain into the issuer list.

Instead the client should call AddCertificate for every single certificate in the chain and indicate the expected location.

This feature was added for management of self-signed certificates and not for CA signed certificates. For CA signed certificates the TrustList Read/Writer must be used since the reguired CRL cannot be added managed with the Methods (Add/Remove).

I strongly recommend to replace the new paragraph with a requirement that every certificate in a chain must be added as single certificate starting from the root.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0004081 closedrandyarmstrong How to handle CA certificates with CRLs with AddCertificate/RemoveCertificate. 

Activities

Jim Luth

2018-02-27 17:12

administrator   ~0008893

Agreed to make the change as proposed. Requires 1.04 Errata.

randyarmstrong

2018-02-27 17:41

administrator   ~0008894

Last edited: 2018-02-27 17:42

CA certs need to be added one by one starting from root while ignoring missing crls errors.

State that CRLs can be updated with the TrustList Write method.

Provide a hint that CA certs should be managed with TrustList writes.

randyarmstrong

2018-03-13 01:31

administrator   ~0008911

Added explanation to 1.05 DRAFT 02.

Jim Luth

2018-03-13 15:30

administrator   ~0008918

Agreed to fixes in 1.05 Draft and 1.04 Errata.

Issue History

Date Modified Username Field Change
2018-02-27 13:46 Matthias Damm New Issue
2018-02-27 13:46 Matthias Damm Relationship added related to 0004081
2018-02-27 17:11 Jim Luth Assigned To => randyarmstrong
2018-02-27 17:11 Jim Luth Status new => assigned
2018-02-27 17:12 Jim Luth Note Added: 0008893
2018-02-27 17:41 randyarmstrong Note Added: 0008894
2018-02-27 17:42 randyarmstrong Note Edited: 0008894
2018-03-13 01:31 randyarmstrong Note Added: 0008911
2018-03-13 01:31 randyarmstrong Status assigned => resolved
2018-03-13 01:31 randyarmstrong Resolution open => fixed
2018-03-13 15:30 Jim Luth Note Added: 0008918
2018-03-13 15:30 Jim Luth Status resolved => closed
2018-03-13 20:04 Jim Luth Fixed in Version => 1.05
2018-03-13 20:05 Jim Luth Target Version 1.04 => 1.05