# unikraft certificates create

Create a certificate.

```
unikraft certificates create [flags]
```

## Examples

Create a new certificate:

```bash
openssl req -x509 -newkey rsa:2048 -sha256 -days 365 -nodes \
  -subj "/CN=demo.unikraft.dev" \
  -keyout cert.key \
  -out cert.pem
unikraft certificate create \
	  --name demo-cert \
	  --cn demo.unikraft.dev. \
	  --chain cert.pem \
	  --pkey cert.key \
	  --metro fra
```

## Options

```
  --chain file                Certificate chain file.
  --cmd CMD                   Run a command to edit fields (receives YAML on stdin, outputs edited YAML on stdout).
  --common-name fqdn          Certificate common name.
  --dry-run                   Print patches without applying them.
  -f, --field FIELD           Specify which fields to include in the output.
  --load LOAD                 Load fields from a YAML file.
  --metro metro               Metro to create in.
  --name name                 Certificate name.
  -o, --output OUTPUT         Output format. One of: kv, table, json, yaml, raw, quiet, template.
  --private-key file          Certificate private key file.
  --save FILE                 Save creatable fields as YAML to a file (use - for stdout).
  --set <name>=<value>        Key-value pairs to set on the certificate.
  --set-file <name>=<filename>  Files containing key-value pairs to set on the certificate.
  --visual                    Open an editor to modify fields visually.
```

## Options inherited from parent commands

```
  --config file               Path to the configuration file.
  --log-level level           Set the logging level. (default info)
  --log-type type             Set the log type. (default text)
  --profile name              Set the current profile.
  --telemetry                 Toggle anonymous usage analytics. (default true)
```

## See Also

* [`unikraft certificates`](../certificates.mdx): Manage Unikraft Cloud certificates.

