CURL.SetOptionSSLVersion
------------------------

Sets which version of SSL/TLS to attempt to use.

| Component | Version | macOS | Windows | Linux | Server | iOS SDK |
|---|---|---|---|---|---|---|
| [CURL](component_CURL.md) | [2.5](newinversion25.md) | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |

MBS( "CURL.SetOptionSSLVersion"; curl; Value ) 

**MBS**( **"CURL.SetOptionSSLVersion";** /\* Sets which version of SSL/TLS to attempt to use. \*/  
**$curl**; /\* The CURL session handle. \*/   
**$Value**) /\* Pass number from 0 to 7.e.g. 0 \*/ 

### Parameters

| Parameter | Description | Example |
|---|---|---|
| curl | The CURL session handle. | $curl |
| Value | Pass number from 0 to 7. | 0 |

### Result

Returns "OK" on success.

### Description

Sets which version of SSL/TLS to attempt to use.   
The SSL and TLS versions have typically developed from the most insecure version to be more and more secure in this order through history: SSL v2, SSLv3, TLS v1.0, TLS v1.1, TLS v1.2 and the most recent TLS v1.3.  
  
Use one of the available defines for this purpose. The available options are:  
  
| Default | 0 | The default acceptable version range. The minimum acceptable version is by default TLS v1.0 since 7.39.0 (unless the TLS library has a stricter rule). |
|---|--:|---|
| TLSv1 | 1 | TLS v1.0 or later |
| SSLv2 | 2 | SSL v2 (but not SSLv3) |
| SSLv3 | 3 | SSL v3 (but not SSLv2) |
| TLSv1.0 | 4 | TLS v1.0 or later (Added in 7.34.0) |
| TLSv1.1 | 5 | TLS v1.1 or later (Added in 7.34.0) |
| TLSv1.2 | 6 | TLS v1.2 or later (Added in 7.34.0) |
| TLSv1.3 | 7 | TLS v1.3 or later (Added in 7.52.0) |

  
See also kSSLVersion\* constants.  
  
The maximum TLS version can be set by using one of the CURL\_SSLVERSION\_MAX\_ macros below. It is also possible to OR one of the CURL\_SSLVERSION\_ macros with one of the CURL\_SSLVERSION\_MAX\_ macros.   
  
| Default | 65536 | The flag defines the maximum supported TLS version by libcurl, or the default value from the SSL library is used. libcurl will use a sensible default maximum, which was TLS v1.2 up to before 7.61.0 and is TLS v1.3 since then - assuming the TLS library support it. (Added in 7.54.0) |
|---|--:|---|
| Max TLSv1.0 | 262144 | The flag defines maximum supported TLS version as TLS v1.0. (Added in 7.54.0) |
| Max TLSv1.1 | 327680 | The flag defines maximum supported TLS version as TLS v1.1. (Added in 7.54.0) |
| Max TLSv1.2 | 393216 | The flag defines maximum supported TLS version as TLS v1.2. (Added in 7.54.0) |
| Max TLSv1.3 | 458752 | The flag defines maximum supported TLS version as TLS v1.3. (Added in 7.54.0) |

  
Please note that MBS Plugin does support TLS v1.3 since end of 2018.  
See also [SSLVERSION](https://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html) option in CURL manual.

### Examples

SMTP via SSL without TLS:

 $r = MBS ( "CURL.SetOptionSSLVersion"; $curl ; 3 )  
$r = MBS ( "[CURL.SetOptionPort](CURLSetOptionPort.md)"; $curl ; 25 )  
Set to use TLSv1.2:

 Set Variable \[$r ; MBS ( "[CURL.SetOptionUseSSL](CURLSetOptionUseSSL.md)"; $curl ; 3 ) // encryption required \]  
Set Variable \[$r ; MBS ( "CURL.SetOptionSSLVersion"; $curl ; 6 ) // TLS v1.2 or higher \]  
Do FTPS by using FTP and upgrade to TLS:

 # Start new session   
Set Variable \[ $curl ; Value: MBS ("[CURL.New](CURLNew.md)") \]   
\# Set URL to load (HTTP, HTTPS, FTP, FTPS, SFTP, etc.)   
Set Variable \[ $result ; Value: MBS ("[CURL.SetOptionURL](CURLSetOptionURL.md)"; $curl ; "ftp://ftp.christians-software.de/") \]   
Set Variable \[ $result ; Value: MBS ("[CURL.SetOptionUserName](CURLSetOptionUserName.md)"; $curl ; "12144-test") \]   
Set Variable \[ $result ; Value: MBS ("[CURL.SetOptionPassword](CURLSetOptionPassword.md)"; $curl ; "qr\\"8km3%Eu\\"7") \]   
Set Variable \[ $result ; Value: MBS ("[CURL.SetOptionConnectionTimeout](CURLSetOptionConnectionTimeout.md)"; $curl ; 10) \]   
Set Variable \[ $result ; Value: MBS ("CURL.SetOptionSSLVersion"; $curl ; 1) // want TLS v1.0 or better \]   
Set Variable \[ $result ; Value: MBS ("[CURL.SetOptionUseSSL](CURLSetOptionUseSSL.md)"; $curl ; 3) // require SSL \]   
\# RUN now   
Set Field \[ CURL Test::Result ; MBS ("[CURL.Perform](CURLPerform.md)"; $curl ) \]   
\# Check result   
Set Field \[ CURL Test::Text ; MBS ("[CURL.GetResultAsText](CURLGetResultAsText.md)"; $curl ; "UTF8") \]   
Set Field \[ CURL Test::debug ; MBS ("[CURL.GetDebugMessages](CURLGetDebugMessages.md)"; $curl ) \]   
\# Cleanup   
Set Variable \[ $result ; Value: MBS ("[CURL.Release](CURLRelease.md)"; $curl ) \]  
Setup for IMAP with Google GMail:

 Set Variable \[ $curl ; Value: MBS ("[CURL.New](CURLNew.md)") \]   
Set Variable \[ $r ; Value: MBS ("[CURL.SetOptionPort](CURLSetOptionPort.md)"; $curl ; 993) // IMAP SSL port \]   
Set Variable \[ $r ; Value: MBS ("[CURL.SetOptionUseSSL](CURLSetOptionUseSSL.md)"; $curl ; 3) // require SSL \]  
Set Variable \[ $r ; Value: MBS ("CURL.SetOptionSSLVersion"; $curl ; 6) // TLSv1.2 \]   
Set Variable \[ $r ; Value: MBS ("[CURL.SetOptionURL](CURLSetOptionURL.md)"; $curl ; "imaps://imap.gmail.com/INBOX") \]   
Set Variable \[ $r ; Value: MBS ("[CURL.SetOptionUserName](CURLSetOptionUserName.md)"; $curl ; $user ) \]   
Set Variable \[ $r ; Value: MBS ("[CURL.SetOptionPassword](CURLSetOptionPassword.md)"; $curl ; $pass ) \]  
Set TLS 1.2 as minimum and maximum to enfore that version:

 Set Variable \[ $result ; Value: MBS ("CURL.SetOptionSSLVersion"; $curl ; 393216 + 6) \]  
### See also

- [CURL.SetOptionHTTPVersion](CURLSetOptionHTTPVersion.md)
- [CURL.SetOptionSSLCertType](CURLSetOptionSSLCertType.md)
- [CURL.SetOptionSSLCipherList](CURLSetOptionSSLCipherList.md)
- [CURL.SetOptionSSLKeyBlob](CURLSetOptionSSLKeyBlob.md)
- [CURL.SetOptionSSLOptions](CURLSetOptionSSLOptions.md)
- [CURL.SetOptionSSLVerifyHost](CURLSetOptionSSLVerifyHost.md)
- [CURL.SetOptionUploadFlags](CURLSetOptionUploadFlags.md)
- [CURL.SetOptionUseSSL](CURLSetOptionUseSSL.md)
- [SendMail.PrepareCURL](SendMailPrepareCURL.md)
- [SendMail.SetSMTPServer](SendMailSetSMTPServer.md)

### Example Databases

- [CURL/Email/Batch Emailer](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/Email/Batch%20Emailer.shtml#1ScriptAnchor_)
- [CURL/Email/GMail oAuth SMTP](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/Email/GMail%20oAuth%20SMTP.shtml#5ScriptAnchor_)
- [CURL/Email/IMAP Email List](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/Email/IMAP%20Email%20List.shtml#1ScriptAnchor_)
- [CURL/Email/List IMAP folders](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/Email/List%20IMAP%20folders.shtml#1ScriptAnchor_)
- [CURL/Email/Office 365 oAuth SMTP](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/Email/Office%20365%20oAuth%20SMTP.shtml#5ScriptAnchor_)
- [CURL/FTP/CURL FTP Delete File](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/FTP/CURL%20FTP%20Delete%20File.shtml#2ScriptAnchor_)
- [CURL/FTP/CURL FTP Directory Listing](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/FTP/CURL%20FTP%20Directory%20Listing.shtml#1ScriptAnchor_)
- [CURL/FTP/CURL FTP Download all Files in Directory](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/FTP/CURL%20FTP%20Download%20all%20Files%20in%20Directory.shtml#2ScriptAnchor_)
- [CURL/FTP/CURL FTP Upload File](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/FTP/CURL%20FTP%20Upload%20File.shtml#2ScriptAnchor_)
- [CURL/FTP/CURL FTP Upload from file with Progress](https://www.mbsplugins.eu/MBS-FileMaker-Plugin-Examples/CURL/FTP/CURL%20FTP%20Upload%20from%20file%20with%20Progress.shtml#2ScriptAnchor_)

### Blog Entries

- [IMAP Upload Flags](https://www.mbsplugins.de/archive/2025-06-17/IMAP_Upload_Flags/monkeybreadsoftware_blog_filemaker)
- [Using Gmail with oAuth2 for SMTP with MBS Plugin](https://www.mbsplugins.de/archive/2025-05-08/Using_Gmail_with_oAuth2_for_SM/monkeybreadsoftware_blog_filemaker)
- [SFTP Upload with temporary file](https://www.mbsplugins.de/archive/2023-03-06/SFTP_Upload_with_temporary_fil/monkeybreadsoftware_blog_filemaker)
- [SMTP with OAuth for Office 365 in FileMaker](https://www.mbsplugins.de/archive/2022-11-22/SMTP_with_OAuth_for_Office_365/monkeybreadsoftware_blog_filemaker)
- [Sending email with a huge custom function](https://www.mbsplugins.de/archive/2021-06-26/Sending_email_with_a_huge_cust/monkeybreadsoftware_blog_filemaker)
- [GMail for emails with MBS Plugin](https://www.mbsplugins.de/archive/2021-04-18/GMail_for_emails_with_MBS_Plug/monkeybreadsoftware_blog_filemaker)
- [Using Apple's Global Service Exchange web service in FileMaker](https://www.mbsplugins.de/archive/2019-09-04/Using_Apples_Global_Service_Ex/monkeybreadsoftware_blog_filemaker)
- [Email Script for FileMaker](https://www.mbsplugins.de/archive/2018-10-10/Email_Script_for_FileMaker/monkeybreadsoftware_blog_filemaker)
- [Upload email to Sent folder via IMAP](https://www.mbsplugins.de/archive/2017-12-14/Upload_email_to_Sent_folder_vi/monkeybreadsoftware_blog_filemaker)
- [Using Apple's Global Service Exchange web service in FileMaker](https://www.mbsplugins.de/archive/2017-02-21/Using_Apples_Global_Service_Ex/monkeybreadsoftware_blog_filemaker)

### FileMaker Magazin

- [Ausgabe 2/2025, Seite 22](https://filemaker-magazin.de/neuigkeit/4286-Appetithappen-FMM_202502)

Created 18th August 2014 , last changed 22nd January 2026

  
[CURL.SetOptionSSLVerifyStatus](CURLSetOptionSSLVerifyStatus.md) - [CURL.SetOptionServerResponseTimeout](CURLSetOptionServerResponseTimeout.md)

[HTML Version](CURLSetOptionSSLVersion.shtml)