diff options
author | Rob Austein <sra@hactrn.net> | 2007-03-30 14:23:46 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-03-30 14:23:46 +0000 |
commit | 223efa75ff8cd17e0a1d4ff0e74902067b65f38c (patch) | |
tree | 489d097ac538826aa6bff20dd06d854c64701518 | |
parent | 51f65681d48f33b1cee8dac91dee9c5d0555d9f7 (diff) |
Checkpoint
svn path=/docs/up-down-protocol; revision=551
-rw-r--r-- | docs/up-down-protocol | 815 |
1 files changed, 392 insertions, 423 deletions
diff --git a/docs/up-down-protocol b/docs/up-down-protocol index 450570ed..170f1766 100644 --- a/docs/up-down-protocol +++ b/docs/up-down-protocol @@ -46,8 +46,6 @@ Terminology subject need only specify the particular resource class in a certificate issuance request. -=== - Protocol This protocol is expressed as a request/response interaction, @@ -58,468 +56,439 @@ Protocol be ordered and processed by the IR Class in the order of receipt by the IR Class. -=== - - Common Message format - - The protocol uses signed messages (object security) in order - to provide an auditable authentication trail. Confidentiality - is not required. The overall message format is DER-encoded - CMS wrapping XML, with the entire XML message contained within - the eContent OCTET STRING of the CMS message. The "bag of - certs" portion of the CMS wrapper should contain the entire - certificate chain up to (but not including) the business trust - anchor that the sender expects the receiver to use to - authenticate the message. The rest of this document omits the - CMS wrapper and only discusses the XML protocol. - - <message version="1"> - <header sender="sender name" - recipient = "recipient name" - msg_ref="reference" /> - - [payload] - - </message> - - version - value is defined as "1" for this version of the protocol - - sender - value is the agreed name of the sender, as set at entity - key-exchange time. - - recipient - value is the agreed name of the message recipient, as set at - entity key-exchange time. - - msg_ref - value is set by the sender when generating a query. The - corresponding response message contains the same msg_ref value. - A sender must ensure that different msg_refs are used for each - query. The recipient need not answer the same msg_ref more than - once. - - - [payload] is one of the protocol requests or responses below. - -=== - - Control - Resource Class Query - ---- - - Resource Class List Query - - Payload: - - <resource_class_list_query /> - ---- - - Resource Class List Response - - Payload: - - - <class ca="ca_name" - issuer_cert_url="url" - issuer_cert_ski="g(ski)" - resource_set_as="as resource set" - resource_set_ipv4="ipv4 resource set" - resource_set_ipv6="ipv6 resource set"> - <cert cert_url="url" - cert_ski="g(ski)" - cert_aki="g(aki)" - cert_serial="serial" - resource_set_as="as resource set" - resource_set_ipv4="ipv4 resource set" - resource_set_ipv6="ipv6 resource set" - status="keyword" /> - ... - </class> - ... - [repeated for each active class where the ISP has resources] - - - TODO: prune unnecessary fat - - Where the ISP has multiple certificates in a Resource Class with - different public keys (as in an ISP key rollover), there will be - multiple cert entries in the respose, with distinct cert_ski values for - each of the ISP's public keys. - - Where the IR has issued multiple certificates in a Resource Class - signed with different IR keys (as in an IR key rollover), only the most - recent certificate issued by the current "active" IR CA will be listed - in the response. The cert_aki field reflects the public key of the - "active" IR ca. - - The ca value describes a set of resources that are certified within the - scope of a single certificate, referring to a resource set with a - common validation path. - - ca - value is the issuer-assigned name of the issuer's CA. When - combined with the subcaca value this doublet represents the - ISP's Resource Class identifier. - - issuer_cert_url - The issuer_cert_url is an object reference that refers to the - publication point of the IR's CA certificate for this resource - class. - - Note: this is under debate. The three Robs believe that we need at - least the issuer's SIA in order to build some of the URLs to go into - cert requests. Rob L believes that it is useful to be able to get the - parent's whole cert. - - issuer_cert_ski - The value is the g(SKI) of the IR CA's public key. - - cert_url - optional, only present when the issuer has issued a current - certificate to this subject. The cert_url is an object - reference that refers to the issuer's publication point of this - certificate. - - cert_ski - The value is the g(SKI) of the ISP CA's public key. - - cert_serial - The cert_serial value is the serial number of the most recently - issued valid certificate to this subject, in decimal - representation. When combined with the cert_aki value, this - doublet represents a unique identifier of the most recently - issued certificate. - - cert_aki - The cert_aki is the g(aki) value of the most recently issued - valid certificate to this subject. When combined with the - cert_serial value, this doublet represents a unique identifier - of the most recently issued certificate. - - status - The value undersize indicates that the certificate does not - encompass all resources allocated to the ISP within this class - (filtered by the resource_set value, if specified). The value - match indicates that the certificate spans all currently - ISP-allocated resources in this class. The value - issuance_pending reflects the situation where the subject has - requested that a certificate be issued, but that this operation - has not been undertaken as yet by the issuer (due to an - asynchronous key signing engine in operation). - - Note: some of these status values go away because they can be derived - from the class resource set and the cert resource sets. May need a - status to use during parent key rollover saying: you better request new - certs because your parent has been re-issued - - resource_set_as - If this field is present then it indicates that the ISP has - requested that the certificate's resource extension encompass - the set of AS numbers that is no larger than that described in - the value of this attribute. The value is the ascii - representation of an AS Number resource collection, presented - in the canonical format as described in RFC3779. (i.e. a comma - separated list of AS Numbers and ranges of AS numbers, - represented as decimal integers, with no other punctuation or - whitespace.) - - resource_set_ipv4 - If this field is present then it indicates that the ISP has - requested that the certificate's resource extension encompass - the set of IPv4 address resources that is no larger than that - described in the value of this attribute. The value is the - ascii representation of an IPv4 address resource collection, - presented in the canonical format as described in RFC3779. - (i.e. a comma separated list of IPv4 address prefixes and - ranges of IPv4 address, represented as dotted quad decimal - integers, with no other punctuation or whitespace.) - - resource_set_ipv6 - If this field is present then it indicates that the ISP has - requested that the certificate's resource extension encompass - the set of IPv4 address resources that is no larger than that - described in the value of this attribute. The value is the - ascii representation of an IPv6 address resource collection, - presented in the canonical format as described in RFC3779. - (i.e. a comma separated list of IPv4 address prefixes and - ranges of IPv4 address, represented as colon delimited 16 bit - nibbles using hexadecimal integers and "::" compression, with - no other punctuation or whitespace.) - -=== - - CA - Certificate Issuance - ---- - - Certificate Issuance Request - - Payload: - - - <issue_request_class ca="ca_name" - resource_set_as="as resource set" - resource_set_ipv4="ipv4 resource set" - resource_set_ipv6="ipv6 resource set" /> - - [Certificate request] - - </issue_request_class> - - - The ISP must use different key pairs for each distinct resource - class (i.e. for each distinct value of the ca and subca pair). - - ca - value is the IR's identifier of a CA instance. - - TODO: pull address format from Rob A's post to mailing list and - drop references to RFC3779 - - resource_set_as - Optional. If this field is present then it indicates that - the ISP has requested that the certificate's resource - extension encompass the set of AS numbers that is no larger - than that described in the value of this attribute. The - value is the ascii representation of an AS Number resource - collection, presented in the canonical format as described - in RFC3779. (i.e. a comma separated list of AS Numbers and - ranges of AS numbers, represented as decimal integers, with - no other punctuation or whitespace.) If the attribute value - is empty (i.e. resource_set_as="") then this is the null - set, and no AS number resources will be certified. If this - attribute is not present, then the issuer will issue a - certificate that encompasses all AS Number resources that - are certificated by this CA instance. - - resource_set_ipv4 - Optional. If this field is present then it indicates that - the ISP has requested that the certificate's resource - extension encompass the set of IPv4 address resources that - is no larger than that described in the value of this - attribute. The value is the ascii representation of an IPv4 - address resource collection, presented in the canonical - format as described in RFC3779. (i.e. a comma separated - list of IPv4 address prefixes and ranges of IPv4 address, - represented as dotted quad decimal integers, with no other - punctuation or whitespace.) If the attribute value is empty - (i.e. resource_set_ipv4="") then this is the null set, and - no IPv4 address resources will be certified. If this - attribute is not present, then the issuer will issue a - certificate that encompasses all IPv4 address resources - that are certificated by this CA instance. - - resource_set_ipv6 - Optional. If this field is present then it indicates that - the ISP has requested that the certificate's resource - extension encompass the set of IPv4 address resources that - is no larger than that described in the value of this - attribute. The value is the ascii representation of an IPv6 - address resource collection, presented in the canonical - format as described in RFC3779. (i.e. a comma separated - list of IPv4 address prefixes and ranges of IPv4 address, - represented as colon delimited 16 bit nibbles using - hexadecimal integers and "::" compression, with no other - punctuation or whitespace.) If the attribute value is empty - (i.e. resource_set_ipv6="") then this is the null set, and - no IPv4 address resources will be certified. If this - attribute is not present, then the issuer will issue a - certificate that encompasses all IPv4 address resources - that are certificated by this CA instance. - - [Certificate request] - value is the certificate request. This is a Base-64 encoded - DER version of a request formatted using PKCS#10. - ---- - - - Certificate Issuance Response +Common Message format - Payload: + The protocol uses signed messages (object security) in order + to provide an auditable authentication trail. Confidentiality + is not required. The overall message format is DER-encoded + CMS wrapping XML, with the entire XML message contained within + the eContent OCTET STRING of the CMS message. The "bag of + certs" portion of the CMS wrapper should contain the entire + certificate chain up to (but not including) the business trust + anchor that the sender expects the receiver to use to + authenticate the message. The rest of this document omits the + CMS wrapper and only discusses the XML protocol. + <message version="1"> + <header sender="sender name" + recipient = "recipient name" + msg_ref="reference" /> - <certificate ca="ca_name" - cert_url="url" /> + [payload] - [certificate] + </message> - </certificate> + version + value is defined as "1" for this version of the protocol + sender + value is the agreed name of the sender, as set at entity + key-exchange time. - The issued certificate has a resource extension that fully covers - the ISP's resources in this resource class. + recipient + value is the agreed name of the message recipient, as set at + entity key-exchange time. - If the issuer determines that the issued certificate would be - identifical in all respects to the most recently issued certificate - for this subject (other than the issuer's serial number) were the - certificate to be issued, the issuer may choose to respond with the - most recently issued certificate and not issue a new certificate - for this request. + msg_ref + value is set by the sender when generating a query. The + corresponding response message contains the same msg_ref value. + A sender must ensure that different msg_refs are used for each + query. The recipient need not answer the same msg_ref more than + once. + + + [payload] is one of the protocol requests or responses below. + + +Resource Class List Query + + Payload: + + <resource_class_list_query /> + + +Resource Class List Response + + Payload: + + <class ca="ca_name" + issuer_cert_url="url" + issuer_cert_ski="g(ski)" + resource_set_as="as resource set" + resource_set_ipv4="ipv4 resource set" + resource_set_ipv6="ipv6 resource set"> + + <cert cert_url="url" + cert_ski="g(ski)" + cert_aki="g(aki)" + cert_serial="serial" + resource_set_as="as resource set" + resource_set_ipv4="ipv4 resource set" + resource_set_ipv6="ipv6 resource set" + status="keyword" /> + ... + </class> + ... + [repeated for each active class where the ISP has resources] + + + TODO: prune unnecessary fat + + Where the ISP has multiple certificates in a Resource Class with + different public keys (as in an ISP key rollover), there will be + multiple cert entries in the respose, with distinct cert_ski values for + each of the ISP's public keys. + + Where the IR has issued multiple certificates in a Resource Class + signed with different IR keys (as in an IR key rollover), only the most + recent certificate issued by the current "active" IR CA will be listed + in the response. The cert_aki field reflects the public key of the + "active" IR ca. + + The ca value describes a set of resources that are certified within the + scope of a single certificate, referring to a resource set with a + common validation path. + + ca + value is the issuer-assigned name of the issuer's CA. When + combined with the subcaca value this doublet represents the + ISP's Resource Class identifier. + + issuer_cert_url + The issuer_cert_url is an object reference that refers to the + publication point of the IR's CA certificate for this resource + class. + + Note: this is under debate. The three Robs believe that we need at + least the issuer's SIA in order to build some of the URLs to go into + cert requests. Rob L believes that it is useful to be able to get the + parent's whole cert. + + issuer_cert_ski + The value is the g(SKI) of the IR CA's public key. + + cert_url + optional, only present when the issuer has issued a current + certificate to this subject. The cert_url is an object + reference that refers to the issuer's publication point of this + certificate. + + cert_ski + The value is the g(SKI) of the ISP CA's public key. + + cert_serial + The cert_serial value is the serial number of the most recently + issued valid certificate to this subject, in decimal + representation. When combined with the cert_aki value, this + doublet represents a unique identifier of the most recently + issued certificate. + + cert_aki + The cert_aki is the g(aki) value of the most recently issued + valid certificate to this subject. When combined with the + cert_serial value, this doublet represents a unique identifier + of the most recently issued certificate. + + status + The value undersize indicates that the certificate does not + encompass all resources allocated to the ISP within this class + (filtered by the resource_set value, if specified). The value + match indicates that the certificate spans all currently + ISP-allocated resources in this class. The value + issuance_pending reflects the situation where the subject has + requested that a certificate be issued, but that this operation + has not been undertaken as yet by the issuer (due to an + asynchronous key signing engine in operation). + + Note: some of these status values go away because they can be derived + from the class resource set and the cert resource sets. May need a + status to use during parent key rollover saying: you better request new + certs because your parent has been re-issued + + resource_set_as + If this field is present then it indicates that the ISP has + requested that the certificate's resource extension encompass + the set of AS numbers that is no larger than that described in + the value of this attribute. The value is the ascii + representation of an AS Number resource collection, presented + in the canonical format as described in RFC3779. (i.e. a comma + separated list of AS Numbers and ranges of AS numbers, + represented as decimal integers, with no other punctuation or + whitespace.) + + resource_set_ipv4 + If this field is present then it indicates that the ISP has + requested that the certificate's resource extension encompass + the set of IPv4 address resources that is no larger than that + described in the value of this attribute. The value is the + ascii representation of an IPv4 address resource collection, + presented in the canonical format as described in RFC3779. + (i.e. a comma separated list of IPv4 address prefixes and + ranges of IPv4 address, represented as dotted quad decimal + integers, with no other punctuation or whitespace.) + + resource_set_ipv6 + If this field is present then it indicates that the ISP has + requested that the certificate's resource extension encompass + the set of IPv4 address resources that is no larger than that + described in the value of this attribute. The value is the + ascii representation of an IPv6 address resource collection, + presented in the canonical format as described in RFC3779. + (i.e. a comma separated list of IPv4 address prefixes and + ranges of IPv4 address, represented as colon delimited 16 bit + nibbles using hexadecimal integers and "::" compression, with + no other punctuation or whitespace.) + + +Certificate Issuance Request + + Payload: + + + <issue_request_class ca="ca_name" + resource_set_as="as resource set" + resource_set_ipv4="ipv4 resource set" + resource_set_ipv6="ipv6 resource set" /> + + [Certificate request] + + </issue_request_class> + + + The ISP must use different key pairs for each distinct resource + class (i.e. for each distinct value of the ca and subca pair). + + ca + value is the IR's identifier of a CA instance. + + TODO: pull address format from Rob A's post to mailing list and + drop references to RFC3779 + + resource_set_as + Optional. If this field is present then it indicates that + the ISP has requested that the certificate's resource + extension encompass the set of AS numbers that is no larger + than that described in the value of this attribute. The + value is the ascii representation of an AS Number resource + collection, presented in the canonical format as described + in RFC3779. (i.e. a comma separated list of AS Numbers and + ranges of AS numbers, represented as decimal integers, with + no other punctuation or whitespace.) If the attribute value + is empty (i.e. resource_set_as="") then this is the null + set, and no AS number resources will be certified. If this + attribute is not present, then the issuer will issue a + certificate that encompasses all AS Number resources that + are certificated by this CA instance. + + resource_set_ipv4 + Optional. If this field is present then it indicates that + the ISP has requested that the certificate's resource + extension encompass the set of IPv4 address resources that + is no larger than that described in the value of this + attribute. The value is the ascii representation of an IPv4 + address resource collection, presented in the canonical + format as described in RFC3779. (i.e. a comma separated + list of IPv4 address prefixes and ranges of IPv4 address, + represented as dotted quad decimal integers, with no other + punctuation or whitespace.) If the attribute value is empty + (i.e. resource_set_ipv4="") then this is the null set, and + no IPv4 address resources will be certified. If this + attribute is not present, then the issuer will issue a + certificate that encompasses all IPv4 address resources + that are certificated by this CA instance. + + resource_set_ipv6 + Optional. If this field is present then it indicates that + the ISP has requested that the certificate's resource + extension encompass the set of IPv4 address resources that + is no larger than that described in the value of this + attribute. The value is the ascii representation of an IPv6 + address resource collection, presented in the canonical + format as described in RFC3779. (i.e. a comma separated + list of IPv4 address prefixes and ranges of IPv4 address, + represented as colon delimited 16 bit nibbles using + hexadecimal integers and "::" compression, with no other + punctuation or whitespace.) If the attribute value is empty + (i.e. resource_set_ipv6="") then this is the null set, and + no IPv4 address resources will be certified. If this + attribute is not present, then the issuer will issue a + certificate that encompasses all IPv4 address resources + that are certificated by this CA instance. + + [Certificate request] + value is the certificate request. This is a Base-64 encoded + DER version of a request formatted using PKCS#10. + +Certificate Issuance Response - If asynchronous key signing is being used then this request will - generate a "Request Not Performed" response with a status code of - "Request Queued" may be used as a response to the certificate - issuance request. This response is to be interpreted by the ISP as - a well formed request that will be completed by the IR at a later - time. Within the IR certificate system asynchronous key signing - implies that the request has been enqueued in the key signing - queue. If the certificate issuance request has the same CA and SKI - as an already-queued issue request, then the already-queued entry - request must be removed from the queue when this (more recent) - queue request is enqueued. + Payload: - ca - value is the issuer-assigned name of the issuer's CA. When - combined with the subcaca value this doublet represents the - ISP's Resource Class identifier. - - cert_url - value is an object reference that refers to the issuer's - publication point of this certificate. - - [certificate] - value is the Base64 encoding of the DER-formatted issued - certificate. -=== + <certificate ca="ca_name" + cert_url="url" /> - Certificate Revocation + [certificate] ---- - - Certificate Revocation Request + </certificate> - Payload: + The issued certificate has a resource extension that fully covers + the ISP's resources in this resource class. - <revoke_request_class ca="ca_name" - cert_ski="g(ski)" /> + If the issuer determines that the issued certificate would be + identifical in all respects to the most recently issued certificate + for this subject (other than the issuer's serial number) were the + certificate to be issued, the issuer may choose to respond with the + most recently issued certificate and not issue a new certificate + for this request. + If asynchronous key signing is being used then this request will + generate a "Request Not Performed" response with a status code of + "Request Queued" may be used as a response to the certificate + issuance request. This response is to be interpreted by the ISP as + a well formed request that will be completed by the IR at a later + time. Within the IR certificate system asynchronous key signing + implies that the request has been enqueued in the key signing + queue. If the certificate issuance request has the same CA and SKI + as an already-queued issue request, then the already-queued entry + request must be removed from the queue when this (more recent) + queue request is enqueued. - This request directs the IR Resource Class to revoke all - certificates for this subject that contain the matching public key, - across all IR CA generations within this Resource Class. + ca + value is the issuer-assigned name of the issuer's CA. When + combined with the subcaca value this doublet represents the + ISP's Resource Class identifier. + + cert_url + value is an object reference that refers to the issuer's + publication point of this certificate. + + [certificate] + value is the Base64 encoding of the DER-formatted issued + certificate. + + +Key Revocation Request + + Payload: + + <revoke_request_class ca="ca_name" + cert_ski="g(ski)" /> + + + This request directs the IR Resource Class to revoke all + certificates for this subject that contain the matching public key, + across all IR CA generations within this Resource Class. + + This command directs the system to immediately mark all issued + valid certificates issued by this CA with this SKI value as + revoked, causing the most recently issued certificate to be + withdrawn from the publication respistory and all marked + certificates to be listed in the Isser's subsequent CRLs. + + If asynchronous key signing is in place then all queued requests to + the key pair corresponding to this CA are removed from the queue. + If an asynchronous key signing event is taking place (i.e. some + certificate issuance requests have been taken off-line for signing) + then an input filter entry for signed objects is added to filter + out signed objects referring to this CA and this SKI value when + they are passed back from the off-line signing process. - This command directs the system to immediately mark all issued - valid certificates issued by this CA with this SKI value as - revoked, causing the most recently issued certificate to be - withdrawn from the publication respistory and all marked - certificates to be listed in the Isser's subsequent CRLs. + ca + value is the issuer-assigned name of the issuer's CA. - If asynchronous key signing is in place then all queued requests to - the key pair corresponding to this CA are removed from the queue. - If an asynchronous key signing event is taking place (i.e. some - certificate issuance requests have been taken off-line for signing) - then an input filter entry for signed objects is added to filter - out signed objects referring to this CA and this SKI value when - they are passed back from the off-line signing process. + cert_ski + value is the g(SKI) of the ISP CA's public key. - ca - value is the issuer-assigned name of the issuer's CA. - cert_ski - value is the g(SKI) of the ISP CA's public key. +Key Revocation Response + Payload: ---- - - Certificate Revocation Response + <revoke_response_class ca="ca_name" + cert_ski="g(ski)" /> - Payload: + ca + value is the issuer-assigned name of the resource + class. - <revoke_response_class ca="ca_name" - cert_ski="g(ski)" /> + cert_ski + value is the g(SKI) of the ISP CA's public key - ca - value is the issuer-assigned name of the resource - class. +Request-Not-Performed Response - cert_ski - value is the g(SKI) of the ISP CA's public key + Payload: -=== - - Request-Not-Performed Response + <status code="reason code" wait="wait time" /> - Payload: + code + value is ascii text response code which is a protocol + element. TODO: Allowed values must be specified in this + document. - <status code="reason code" wait="wait time" /> - - - code - value is ascii text response code which is a protocol - element. TODO: Allowed values must be specified in this - document. + wait + Optional. value is a positive number in seconds, + suggesting when to try this request again - wait - Optional. value is a positive number in seconds, - suggesting when to try this request again + Messages that fail (envelope / outer wrapper) signature validation + do not generate any response. - Messages that fail (envelope / outer wrapper) signature validation - do not generate any response. + All other messages that are not processed, either due to + inconsistencies in the request or server-side states that prevent + the request being performed, generate a response use this + Request-Not-Performed response (such as non existent class, for + example). - All other messages that are not processed, either due to - inconsistencies in the request or server-side states that prevent - the request being performed, generate a response use this - Request-Not-Performed response (such as non existent class, for - example). + Where the CA operates asynchronously, requiring that certificate + issuance requests be queued for signing, this "Request Not + Performed" message, with a status code of "request_queued" may be + used as a response to the certificate issuance request. - Where the CA operates asynchronously, requiring that certificate - issuance requests be queued for signing, this "Request Not - Performed" message, with a status code of "request_queued" may be - used as a response to the certificate issuance request. +Asynchronous (Off-line) Key Signing Operation -=== - - Asynchronous (Off-line) Key Signing Operation + TODO: update this section in light of changes to the protocol + (2007-03-22) - TODO: update this section in light of changes to the protocol - (2007-03-22) + This protocol is intended to operate consistently irrespective of + whether the IR uses a synchronous (on-line) or asynchronous (off-line) + key signing. - This protocol is intended to operate consistently irrespective of - whether the IR uses a synchronous (on-line) or asynchronous (off-line) - key signing. + In the case of a synchronous (on-line) singing engine the cetificate + issuance and certificate revocation requests are passed directly to the + signing engine, and the results passed back to the Certificate system. + In this case the signing engine's response is used to generate the XML + response to the ISP. The ISP can correctly assume that the certificate + operation has been completed by the time the response is received. - In the case of a synchronous (on-line) singing engine the cetificate - issuance and certificate revocation requests are passed directly to the - signing engine, and the results passed back to the Certificate system. - In this case the signing engine's response is used to generate the XML - response to the ISP. The ISP can correctly assume that the certificate - operation has been completed by the time the response is received. + In the case of an asynchronous (off-line) signing engine, the + certificate issuance, CRL signing and signing of certificate request + tasks must all be queued in the key signing queue. Certificate issue + requests generate a "pending" response, indicating that the request + appears to be well formed, but the signing engine actions are + forthcoming. - In the case of an asynchronous (off-line) signing engine, the - certificate issuance, CRL signing and signing of certificate request - tasks must all be queued in the key signing queue. Certificate issue - requests generate a "pending" response, indicating that the request - appears to be well formed, but the signing engine actions are - forthcoming. - - For an asynchronous (off-line) key signing model there is a queue of - items that are awaiting signing. There are some associated queue - management tasks that are necessary in order to minimize the number of - extraneous issued certificates. A certificate issuance request - generates a new queue entry for the CA. Unless otherwise directed, the - key signing queue entry has the side effect of removing all other - certificate issuance requests from the same subject with the same - public key for the same IR's CA instance that have been already - enqueued for signing. + For an asynchronous (off-line) key signing model there is a queue of + items that are awaiting signing. There are some associated queue + management tasks that are necessary in order to minimize the number of + extraneous issued certificates. A certificate issuance request + generates a new queue entry for the CA. Unless otherwise directed, the + key signing queue entry has the side effect of removing all other + certificate issuance requests from the same subject with the same + public key for the same IR's CA instance that have been already + enqueued for signing. - When the queue is drained to load up onto the device to pass to the key - signing equipment a side effect of the drain operation is to perform a - resource check with the resource allocation database to ensure that the - 3779 attributes of the certificate request reflect the resource - allocation database state at the time of passing the request to the key - signing module. + When the queue is drained to load up onto the device to pass to the key + signing equipment a side effect of the drain operation is to perform a + resource check with the resource allocation database to ensure that the + 3779 attributes of the certificate request reflect the resource + allocation database state at the time of passing the request to the key + signing module. - When a key signing operation is in place a "key signing active" state - is raised, allowing other modules to place entries into a signed object - filter. When the key signing event completes the "key signing active" - state is cleared. The signed objects (signed while the "key signing - active" state was active) are passed through the filter before being - placed in the relevant local stores. The filter set is then cleared. + When a key signing operation is in place a "key signing active" state + is raised, allowing other modules to place entries into a signed object + filter. When the key signing event completes the "key signing active" + state is cleared. The signed objects (signed while the "key signing + active" state was active) are passed through the filter before being + placed in the relevant local stores. The filter set is then cleared. |