SmartFTP FTP Library
ISecurityConnectionInfo Interface Reference

Encapsulates the cryptographic parameters of an active TLS/SSL connection. More...

import "sfFTPLib.idl";

Properties

long Protocol [get]
 Retrieves the specific security protocol used for the connection.
BSTR CipherAlgo [get]
 Retrieves the name of the symmetric encryption algorithm used for data confidentiality.
long CipherStrength [get]
 Retrieves the strength (key length) of the cipher algorithm in bits.
BSTR HashAlgo [get]
 Retrieves the name of the hashing algorithm used for message integrity.
long HashStrength [get]
 Retrieves the strength (bit length) of the hash algorithm.
BSTR ExchangeAlgo [get]
 Retrieves the name of the Key Exchange algorithm used to establish the session keys.
long ExchangeStrength [get]
 Retrieves the strength of the Key Exchange algorithm in bits.

Detailed Description

Encapsulates the cryptographic parameters of an active TLS/SSL connection.

The Context: When a secure FTPS connection is established, the client and server negotiate a specific set of algorithms to protect the data. This "Cipher Suite" determines the privacy and integrity of the session.

Origin: This interface is retrieved via the ITlsSocket::ConnectionInfo property. The values map directly to the Win32 SecPkgContext_ConnectionInfoEx structure used by the Windows SChannel security provider (TLS).

Property Documentation

◆ CipherAlgo

BSTR ISecurityConnectionInfo::CipherAlgo
getproperty

Retrieves the name of the symmetric encryption algorithm used for data confidentiality.

Examples: "AES", "3DES", "RC4".

Parameters
[out]retvalThe cipher algorithm name.

◆ CipherStrength

long ISecurityConnectionInfo::CipherStrength
getproperty

Retrieves the strength (key length) of the cipher algorithm in bits.

  • 128: Standard AES-128 security.
  • 256: High security (AES-256).
  • **< 128**: Generally considered weak by modern standards.
    Parameters
    [out]retvalThe key length in bits (e.g., 128, 256).

◆ ExchangeAlgo

BSTR ISecurityConnectionInfo::ExchangeAlgo
getproperty

Retrieves the name of the Key Exchange algorithm used to establish the session keys.

Examples: "ECDH" (Elliptic Curve Diffie-Hellman), "RSA", "DH".

Parameters
[out]retvalThe exchange algorithm name.

◆ ExchangeStrength

long ISecurityConnectionInfo::ExchangeStrength
getproperty

Retrieves the strength of the Key Exchange algorithm in bits.

Often corresponds to the size of the public key or curve used during the handshake (e.g., 2048, 4096, 256 for curves).

Parameters
[out]retvalThe exchange strength in bits.

◆ HashAlgo

BSTR ISecurityConnectionInfo::HashAlgo
getproperty

Retrieves the name of the hashing algorithm used for message integrity.

Examples: "SHA", "SHA-256", "SHA-384", "MD5".

Parameters
[out]retvalThe hash algorithm name.

◆ HashStrength

long ISecurityConnectionInfo::HashStrength
getproperty

Retrieves the strength (bit length) of the hash algorithm.

Examples: 160 (SHA-1), 256 (SHA-256).

Parameters
[out]retvalThe hash length in bits.

◆ Protocol

long ISecurityConnectionInfo::Protocol
getproperty

Retrieves the specific security protocol used for the connection.

Returns a constant identifying the protocol version, such as:

  • SP_PROT_TLS1_2_CLIENT (0x00000800)
  • SP_PROT_TLS1_3_CLIENT (0x00002000)
    Parameters
    [out]retvalThe protocol identifier.

The documentation for this interface was generated from the following file: