# fortios_vpn_certificate_setting – VPN certificate setting in Fortinet’s FortiOS and FortiGate

New in version 2.9.

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Return Values

- Status

## Synopsis

- This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify vpn_certificate feature and setting category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.5

## Requirements

The below requirements are needed on the host that executes this module.

- fortiosapi>=0.9.8

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
host string |  | FortiOS or FortiGate IP address.

https
boolean

Choices:
- no
- yes ←

Indicates if the requests towards FortiGate must use HTTPS protocol.

password string | Default: "" | FortiOS or FortiGate password.

ssl_verify
boolean

Choices:
- no
- yes ←

Ensures FortiGate certificate must be verified by a proper CA.

username string |  | FortiOS or FortiGate username.
vdom string | Default: "root" | Virtual domain, among those defined previously. A vdom is a virtual instance of the FortiGate that can be configured and used as a different unit.
vpn_certificate_setting dictionary | Default: null | VPN certificate setting.
| certname_dsa1024 string |  | 1024 bit DSA key certificate for re-signing server certificates for SSL inspection. Source vpn.certificate.local.name.
| certname_dsa2048 string |  | 2048 bit DSA key certificate for re-signing server certificates for SSL inspection. Source vpn.certificate.local.name.
| certname_ecdsa256 string |  | 256 bit ECDSA key certificate for re-signing server certificates for SSL inspection. Source vpn.certificate.local.name.
| certname_ecdsa384 string |  | 384 bit ECDSA key certificate for re-signing server certificates for SSL inspection. Source vpn.certificate.local.name.
| certname_rsa1024 string |  | 1024 bit RSA key certificate for re-signing server certificates for SSL inspection. Source vpn.certificate.local.name.
| certname_rsa2048 string |  | 2048 bit RSA key certificate for re-signing server certificates for SSL inspection. Source vpn.certificate.local.name.

check_ca_cert
string

Choices:
- enable
- disable

Enable/disable verification of the user certificate and pass authentication if any CA in the chain is trusted .

check_ca_chain
string

Choices:
- enable
- disable

Enable/disable verification of the entire certificate chain and pass authentication only if the chain is complete and all of the CAs in the chain are trusted .

cmp_save_extra_certs
string

Choices:
- enable
- disable

Enable/disable saving extra certificates in CMP mode.

cn_match
string

Choices:
- substring
- value

When searching for a matching certificate, control how to find matches in the cn attribute of the certificate subject name.

| ocsp_default_server string |  | Default OCSP server. Source vpn.certificate.ocsp-server.name.

ocsp_status
string

Choices:
- enable
- disable

Enable/disable receiving certificates using the OCSP.

ssl_min_proto_version
string

Choices:
- default
- SSLv3
- TLSv1
- TLSv1-1
- TLSv1-2

Minimum supported protocol version for SSL/TLS connections .

ssl_ocsp_option
string

Choices:
- certificate
- server

Specify whether the OCSP URL is from the certificate or the default OCSP server.

ssl_ocsp_status
string

Choices:
- enable
- disable

Enable/disable SSL OCSP.

strict_crl_check
string

Choices:
- enable
- disable

Enable/disable strict mode CRL checking.

strict_ocsp_check
string

Choices:
- enable
- disable

Enable/disable strict mode OCSP checking.

subject_match
string

Choices:
- substring
- value

When searching for a matching certificate, control how to find matches in the certificate subject name.

## Notes

Note

- Requires fortiosapi library developed by Fortinet

- Run as a local_action in your playbook

## Examples

    - hosts: localhost
      vars:
       host: "192.168.122.40"
       username: "admin"
       password: ""
       vdom: "root"
       ssl_verify: "False"
      tasks:
      - name: VPN certificate setting.
        fortios_vpn_certificate_setting:
          host:  "{{ host }}"
          username: "{{ username }}"
          password: "{{ password }}"
          vdom:  "{{ vdom }}"
          https: "False"
          vpn_certificate_setting:
            certname_dsa1024: "<your_own_value> (source vpn.certificate.local.name)"
            certname_dsa2048: "<your_own_value> (source vpn.certificate.local.name)"
            certname_ecdsa256: "<your_own_value> (source vpn.certificate.local.name)"
            certname_ecdsa384: "<your_own_value> (source vpn.certificate.local.name)"
            certname_rsa1024: "<your_own_value> (source vpn.certificate.local.name)"
            certname_rsa2048: "<your_own_value> (source vpn.certificate.local.name)"
            check_ca_cert: "enable"
            check_ca_chain: "enable"
            cmp_save_extra_certs: "enable"
            cn_match: "substring"
            ocsp_default_server: "<your_own_value> (source vpn.certificate.ocsp-server.name)"
            ocsp_status: "enable"
            ssl_min_proto_version: "default"
            ssl_ocsp_option: "certificate"
            ssl_ocsp_status: "enable"
            strict_crl_check: "enable"
            strict_ocsp_check: "enable"
            subject_match: "substring"

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
build string | always | Build number of the fortigate image Sample: 1547
http_method string | always | Last method used to provision the content into FortiGate Sample: PUT
http_status string | always | Last result given by FortiGate on last operation applied Sample: 200
mkey string | success | Master key (id) used in the last call to FortiGate Sample: id
name string | always | Name of the table used to fulfill the request Sample: urlfilter
path string | always | Path of the table used to fulfill the request Sample: webfilter
revision string | always | Internal revision number Sample: 17.0.2.10658
serial string | always | Serial number of the unit Sample: FGVMEVYYQT3AB5352
status string | always | Indication of the operation's result Sample: success
vdom string | always | Virtual domain used Sample: root
version string | always | Version of the FortiGate Sample: v5.6.3

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Miguel Angel Munoz (@mamunozgonzalez)

- Nicolas Thomas (@thomnico)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.