-
Notifications
You must be signed in to change notification settings - Fork 2
Ig 1.10.0 development 4 LD #515
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
83 changes: 83 additions & 0 deletions
83
...ionGuide-BaRS/Home/Build/Testing-and-Environments/Connect-as-a-receiver.page.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| --- | ||
| topic: Connect-as-a-receiver | ||
| --- | ||
|
|
||
| ## {{page-title}} | ||
|
|
||
| BaRS uses TLS-MA to communicate with Receiving endpoints. Receiving endpoints need a certificate under the NHS Root CA to facilitate TLS-MA. The receiver needs to follow these steps to access Integration (INT) and Production (PROD) environments. | ||
|
|
||
| To connect to the BaRS proxy as a receiver follow these steps: | ||
|
|
||
| Step 1: Apply for your domain [apply for a new nhs.uk domain](https://digital.nhs.uk/services/networking-addressing/apply-for-an-nhs.uk-domain-for-websites-and-web-applications). You must complete Section 5: For website or application records visible on the public internet. | ||
|
|
||
| Step 2: Request a certificate under the NHS Root CA. The FQDN must be an nhs.uk address. | ||
| * There are different certificate chains for INT and PROD | ||
| * [INT Certificate](https://digital.nhs.uk/services/path-to-live-environments/integration-environment#rootca-and-subca-certificates) chains (**Note:** _these may be out of date_) | ||
| * [PROD Certificate](https://digital.nhs.uk/services/path-to-live-environments/live-environment) chains (**Note:** _these may be out of date_)stered, you can then begin the process to obtain your certificate by generating a certificate request. | ||
| The fully qualified domain name (FQDN) is equal to the certificate name (CN) by convention. | ||
|
|
||
| Step 3: Create a Certificate Signing Request (*.csr). This is the file you will send to us so we can generate a signed certificate for your endpoints. Create a private key; a password is optional. | ||
| ``` | ||
| openssl genpkey -algorithm RSA -out private.key -aes256 | ||
| ``` | ||
| Create the *.csr, use the following command:</br> | ||
| **Note:** <small>_Generate the CSR with only the common name field populated, which must match the FQDN. All other fields can remain blank. The email field MUST be blank. Please note FQDNs MUST be in the .nhs.uk domain as we can only issue certificates in this domain._</small> | ||
| ``` | ||
| openssl req -new -key private.key -out request.csr | ||
| ``` | ||
|
|
||
| Step 4: Send the .csr file to be signed by NHS England and get the client certificate. To do this, follow these environment specific steps: | ||
|
|
||
| #### Client certificate: Integration (INT) | ||
| Step 1: Contact ITOC to make a [Combined endpoint and service registration request](https://digital.nhs.uk/services/path-to-live-environments/path-to-live-forms/combined-endpoint-and-service-registration-request) | ||
| {{render:Onboarding FORM.png}} | ||
| In the form: | ||
| * Select Create/renew a certificate only (No endpoint) | ||
| * Specify Integration environment | ||
| * FQDN must match your domain and CN on the cert e.g. '**BaRS-INT-\<ODS Code\>.\<Supplier name\>.thirdparty.nhs.uk**' | ||
| * In Additional comments/notes, state ‘BaRS’ certificate request | ||
| * Add ‘N/A’ in the Party Key field because there is no relation to SDS endpoints | ||
| Step 2: Receive certificate from ITOC | ||
| Step 3: Email <england.bookingandreferralstandard@nhs.net> with Receiver URL for BaRS/API-M to add to the Endpoint Catalogue | ||
|
|
||
| #### Client certificate: Production (PROD) | ||
| **Production endpoints can only be requested when Solution Assurance issue the supplier with the Technical Conformance certificate** | ||
| Step1: Send the .csr to <dir@nhs.net>, indicating this is for a BaRS Receiver endpoint | ||
| * Format for FQDN on PROD for: | ||
| * Supplier hosted solutions is ‘**BaRS-PROD-\<ODS Code\>.\<Supplier name\>.thirdparty.nhs.uk**’ | ||
| * This option is used for multi-tenanted solutions. | ||
| * Service Provider hosted solutions is ‘**BaRS-PROD-\<ODS Code\>.\<Provider name\>.nhs.uk**’ | ||
| * This option is used for non multi-tenanted solutions. If multiple endpoints are needed, the ODS code can be appended with an identifier for the setting. | ||
| * It may be that the provider already has a 'nhs.uk' standard domain DNS entry. If one exists, it should be used for this new subdomain. | ||
| Step 2: Receive certificate from DIR Team | ||
| Step 3: Email <england.bookingandreferralstandard@nhs.net> with Receiver URL for BaRS/API-M to add to the Endpoint Catalogue | ||
| Step 4: Make changes to your [firewall exceptions](https://simplifier.net/guide/nhsbookingandreferralstandard/Home/Deploy/Technical-deployment\Firewallexceptions) to receive messages from the BaRS proxy. | ||
|
|
||
| #### Installing and configuring your application to use the certificate | ||
| Step 1: INT and PROD copy the cert text inlcuding `-----BEGIN CERTIFICATE` as the first line and `END CERTIFICATE-----` as the last. Save this text locally as a file called barsinreceiver.cer (change the name to suit). | ||
|
|
||
| Step 2: Create a .pfx file so you can serve HTTPS (TLS) endpoints. You can use the command below to export a *.pfx file from the *.key file you made earlier (when you made the *.csr file) along with the *.cer file you were emailed. | ||
|
|
||
| ``` | ||
| openssl pkcs12 -export -out barsintreceiver.pfx -inkey barsintreceiver.key -in barsintreceiver.cer | ||
| ``` | ||
|
|
||
| Step 3: Create a password for your .pfx file. | ||
|
|
||
| Step 4: Make configuration changes to reference the *.pfx file and password | ||
|
|
||
| (C# example, Other launguages will vary but be similar) | ||
|
|
||
| ``` c# | ||
|
|
||
| // Configure Kestrel to use the certificate | ||
| builder.WebHost.ConfigureKestrel(options => | ||
| { | ||
| options.ListenAnyIP(8080, listenOptions => | ||
| { | ||
| listenOptions.UseHttps(certPath, certPassword); | ||
| }); | ||
| }); | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add a link to Firewall changes here too |
||
| ``` | ||
|
|
||
19 changes: 19 additions & 0 deletions
19
...ationGuide-BaRS/Home/Build/Testing-and-Environments/Connect-as-a-sender.page.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| topic: connect-as-a-sender | ||
| --- | ||
|
|
||
| ## {{page-title}} | ||
|
|
||
| API-M provides the [security model](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/application-restricted-restful-apis-signed-jwt-authentication) for BaRS. | ||
|
|
||
| To connect to the BaRS proxy as a sender follow these steps: | ||
|
|
||
| Step 1: follow the NHS Developer authenitication and authorisation process [NHS Developer authentication and authorisation](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-separate-authentication-and-authorisation#step-1-register-your-application-with-nhs-login) | ||
|
|
||
| Step 2: trust the Certificate Authorities (CA) mentioned below. For INT this will be downloadable from http://pki.nhs.uk/int/G2/auth/NHSINTAuthG2.crt | ||
| ( you can examine the .cer file if you have one ) | ||
| ``` | ||
| openssl x509 -in barsintreceiver.cer -text -noout | ||
| ``` | ||
|
|
||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 0 additions & 6 deletions
6
guides/Live-ImplementationGuide-BaRS/Home/Deploy/Technical deployment/toc.yaml
This file was deleted.
Oops, something went wrong.
2 changes: 2 additions & 0 deletions
2
...oyment/DirectoryOfServiceConfiguration.md → ...oyment/DirectoryOfServiceConfiguration.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
...ImplementationGuide-BaRS/Home/Deploy/Technical-deployment/Firewallexceptions.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| ## {{page-title}} | ||
|
|
||
| BaRS receivers need to configure firewall exceptions for both Integration and Production environments. | ||
|
|
||
| Requests from the BaRS API Proxy will originate from: | ||
|
|
||
| * **INT** on **35.197.254.55** & **35.246.55.143** | ||
| * **PROD** on **34.89.0.111** & **34.89.69.6**. | ||
|
|
||
| <br> |
File renamed without changes.
File renamed without changes.
8 changes: 8 additions & 0 deletions
8
guides/Live-ImplementationGuide-BaRS/Home/Deploy/Technical-deployment/toc.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| - name: Index | ||
| filename: Index.page.md | ||
| - name: Technical deployment | ||
| filename: Technicaldeployment.page.md | ||
| - name: DoS Configuration | ||
| filename: DirectoryOfServiceConfiguration.md | ||
| - name: Firewall exceptions | ||
| filename: Firewallexceptions.md |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The detail about cert chains feels wrong here. It's only important once the cert is received.