SSLSetDiffieHellmanParams(_:_:_:)
Specifies Diffie-Hellman parameters for a given context.
Declaration
func SSLSetDiffieHellmanParams(_ context: SSLContext, _ dhParams: UnsafeRawPointer?, _ dhParamsLen: Int) -> OSStatusParameters
- context:
An SSL session context reference.
- dhParams:
A pointer to a buffer containing the Diffie-Hellman parameters in Open SSL DER format.
- dhParamsLen:
A value representing the size of the buffer pointed to by the
dhParamsparameter.
Return Value
A result code. See Secure Transport Result Codes.
Discussion
You can use this function to specify a set of Diffie-Hellman parameters to be used by Secure Transport for a specific session. Use of this function is optional. If Diffie-Hellman ciphers are allowed, the server and client negotiate a Diffie-Hellman cipher, and this function has not been called, then secure transport calculates a set of process wide parameters. However, that process can take as long as 30 seconds. Diffie-Hellman ciphers are enabled by default. See SSLSetEnabledCiphers(_:_:_:).
In SSL/TLS, Diffie-Hellman parameters are always specified by the server. Therefore, this function can be called only by the server side of the connection.
You can use the SSLGetDiffieHellmanParams(_:_:_:) function to retrieve Diffie-Hellman parameters specified in an earlier call to SSLSetDiffieHellmanParams(_:_:_:).