> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/resources/da/other-resources/generate-a-self-signed-server-and-client-certificates-with-openssl.md).

# Generer selvsignerede server- og klientcertifikater med OpenSSL

Generer selvsignerede server- og klientcertifikater med OpenSSL ved at oprette en rodnøglecenter og signere hver anmodning.

Dette er den endelige vejledning til at oprette sikre certifikater, både til servere og klienter, ved hjælp af OpenSSL.

## Procedure

{% hint style="info" %}
På Windows anbefales det at bruge Chocolatey til at installere OpenSSL og dets afhængigheder. Kommandolinjen er ganske enkelt `choco install openssl`.
{% endhint %}

### Opret rodnøglecenteret (CA)

1. Generer den ***private nøgle til rod-CA*** med følgende kommandolinje:`openssl ecparam -name prime256v1 -genkey -noout -out ca.key`. Hvert certifikat skal have en tilhørende privat nøgle.
2. Generer ***rod-CA-certifikatet*** (nøglecenter) med følgende kommandolinje: `openssl req -new -x509 -sha256 -key ca.key -out ca.crt`.
3. Angiv oplysningerne om CA'en (certifikatet oprettes i filen ca.crt):

   ```
   Country Name (2 letter code) [AU]:US
   State or Province Name (full name) [Some-State]:CA
   Locality Name (eg, city) []:Toontown
   Organization Name (eg, company) [Internet Widgits Pty Ltd]:Acme inc.
   Organizational Unit Name (eg, section) []:Security
   Common Name (e.g. server FQDN or your name) []:acme.com
   Email Address []:security@acme.com
   ```
4. [Installer certifikatet](/resources/da/other-resources/install-root-certificates.md).

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Bemærk, at certifikatet skal installeres på serveren og på alle klienter for at validere legitimiteten af de udstedte certifikater. Nogle browsere har også særlige forhold, som er beskrevet i emnet.</p></div>

### Generer en anmodning om certifikatsignering (CSR) – server

{% hint style="warning" %}
Disse trin udføres normalt på hver server eller enhed, som De vil anmode om et certifikat til. Installer OpenSSL, hvis det ikke findes. Alternativet er at udrulle den private nøgle sikkert til destinationsserveren samtidig med certifikatet. Det anbefales kun at bruge denne sidste fremgangsmåde, hvis De skal følge scriptede udrulninger for at overholde CloudOps/DevOps-praksis.
{% endhint %}

1. Generer den ***private nøgle til servercertifikatet*** med følgende kommandolinje: `openssl ecparam -name prime256v1 -genkey -noout -out server.key` (256-bit privat nøgle i filen server.key). Hvert certifikat skal have en tilhørende privat nøgle.
2. Generer serverens ***anmodning om certifikatsignering*** (CSR) med følgende kommandolinje: `openssl req -new -sha256 -key server.key -out server.csr`. Denne anmodning behandles senere på rod-CA-serveren.
3. Angiv oplysningerne om servercertifikatet (det nøjagtige FQDN, som serveren bruger, skal angives). For eksempel:

   ```
   Country Name (2 letter code) [AU]:US
   State or Province Name (full name) [Some-State]:CA
   Locality Name (eg, city) []:Toontown
   Organization Name (eg, company) [Internet Widgits Pty Ltd]:Acme inc.
   Organizational Unit Name (eg, section) []:Security
   Common Name (e.g. server FQDN or your name) []:vault.acme.com
   Email Address []:security@acme.com
   ```
4. Angiv en adgangskode i prompten. Det er vigtigt at bruge en adgangskodeadministrator og en stærk adgangskodegenerator.
5. Overfør filen server.csr til rod-CA'en.
6. Behandl anmodningen ved at følge vejledningen i ***Behandl en anmodning om certifikatsignering (CSR) på rodnøglecenteret (CA)*** nedenfor.
7. Udrul certifikatet.

### Generer en anmodning om certifikatsignering (CSR) – klient

Følg den samme procedure som for servercertifikatet, men De skal tilpasse to attributter i de oplysninger, De angiver, til Deres behov, nemlig ***Common Name*** og ***Email Address***.

```
Common Name (e.g. server FQDN or your name) []:John Doe
Email Address []:JohnDoe@acme.com
```

### Behandl en anmodning om certifikatsignering (CSR) på rodnøglecenteret (CA)

Behandl CSR'en ved at generere et certifikat.

Generer det med følgende kommandolinje, hvor server.csr er oprettet på serveren: `openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 1000 -sha256`

Dermed oprettes certifikatet i filen server.crt. De skal udrulle det på den server, hvor De oprettede CSR'en.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/resources/da/other-resources/generate-a-self-signed-server-and-client-certificates-with-openssl.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
