You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -332,3 +332,28 @@ at `target/site/apidocs/com/siemens/pki/cmpracomponent/main/CmpRaComponent.html`
332
332
# Acknowledgements
333
333
334
334
This work was partly funded by the German Federal Ministry of Education and Research in the project Quoryptan through grant number **16KIS2033**.
335
+
336
+
# Support for Remote Attestation in Certificate Signing Requests (CSRs)
337
+
338
+
This branch supports the internet drafts [Use of Remote Attestation with Certification Signing Requests](https://datatracker.ietf.org/doc/draft-ietf-lamps-csr-attestation/) and [Nonce-based Freshness for Remote Attestation in Certificate Signing Requests (CSRs) for the Certification Management Protocol (CMP) and for Enrollment over Secure Transport (EST) draft-ietf-lamps-attestation-freshness](https://datatracker.ietf.org/doc/draft-ietf-lamps-attestation-freshness/).
339
+
340
+
## Design
341
+
342
+
The [RA configuration interface](src/main/java/com/siemens/pki/cmpracomponent/configuration/Configuration.java) allows to
343
+
register an [`com.siemens.pki.cmpracomponent.configuration.VerifierAdapter`](src/main/java/com/siemens/pki/verifieradapter/VerifierAdapter.java) interface to an external Verifier. This interface is called
344
+
by a modified [`com.siemens.pki.cmpracomponent.msgprocessing.ServiceImplementation`](src/main/java/com/siemens/pki/cmpracomponent/msgprocessing/ServiceImplementation.java) to obtain a fresh RAT nonce via
345
+
GENM/GENREP and also by the [`com.siemens.pki.cmpracomponent.msgprocessing.RaDownstream`](src/main/java/com/siemens/pki/cmpracomponent/msgprocessing/RaDownstream.java) to process the subsequent CRMF template.
346
+
347
+
As an example implementation the REST interface to a [Veraison Attestation Verification Service](https://github.com/veraison) is provided at [`com.siemens.pki.verifieradapter.veraison.rest`](src/main/java/com/siemens/pki/verifieradapter/veraison/rest).
348
+
349
+
The [Client configuration interface](./src/main/java/com/siemens/pki/cmpclientcomponent/configuration/ClientContext.java) allows to register an [`com.siemens.pki.cmpclientcomponent.configuration.ClientAttestationContext`](src/main/java/com/siemens/pki/cmpclientcomponent/configuration/ClientAttestationContext.java) interface to an external Attester.
350
+
351
+
The package [`com.siemens.pki.verifieradapter.asn1`](src/main/java/com/siemens/pki/verifieradapter/asn1) supports some ASN.1 definitons from [Use of Remote Attestation with Certification Signing Requests](https://datatracker.ietf.org/doc/draft-ietf-lamps-csr-attestation/).
352
+
353
+
## Test case
354
+
355
+
The [`com.siemens.pki.cmpclientcomponent.test.TestCrWithRAT`](src/test/java/com/siemens/pki/cmpclientcomponent/test/TestCrWithRAT.java) shows setup and execution of a RAT sequence. To execute the TC the verifier REST endpoint [`com.siemens.pki.verifieradapter.veraison.rest.RestConfig.DEFAULT_VERIFIER_BASE_PATH`](src/main/java/com/siemens/pki/verifieradapter/veraison/rest/RestConfig.java) needs to be adapted to the current network setup.
356
+
357
+
## Standalone Setup
358
+
For a standalone setup look at [LightweightCmpRa](https://code.siemens.com/ct-rda-cst-ses-de/remote-attestation/base-functionality/lightweightcmpra/-/tree/RAT_integration?ref_type=heads).
0 commit comments