---
name: "Net::SSL"
section: "3pm"
platform: "linux"
package: "libcrypt-ssleay-perl"
version: "0.73.06-2+b4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::SSL"
---

# Net::SSL(3pm)

support for Secure Sockets Layer

## NAME

Net::SSL - support for Secure Sockets Layer

## METHODS

- new

  Creates a new `"Net::SSL"` object.

- configure

  Configures a `"Net::SSL"` socket for operation.

- configure\_certs

  Sets up a certificate file to use for communicating with on the socket.

- connect

  - die\_with\_error

  - get\_cipher

  - get\_lwp\_object

  Walks up the caller stack and looks for something blessed into the `"LWP::UserAgent"` namespace and returns it. Vaguely deprecated.

- get\_peer\_certificate

  Gets the peer certificate from the underlying `"Crypt::SSLeay::Conn"` object.

- get\_peer\_verify

  - get\_shared\_ciphers

  - getchunk

  Attempts to read up to 32KiB of data from the socket. Returns `"undef"` if nothing was read, otherwise returns the data as a scalar.

- pending

  Provides access to OpenSSL's `"pending"` attribute on the SSL connection object.

- getline

  Reads one character at a time until a newline is encountered, and returns the line, including the newline. Grossly inefficient.

- print

  Concatenates the input parameters and writes them to the socket. Does not honour `$,` nor `$/`. Returns the number of bytes written.

- printf

  Performs a `"sprintf"` of the input parameters (thus, the first parameter must be the format), and writes the result to the socket. Returns the number of bytes written.

- proxy

  Returns the hostname of an https proxy server, as specified by the `"HTTPS_PROXY"` environment variable.

- proxy\_connect\_helper

  Helps set up a connection through a proxy.

- read

  Performs a read on the socket and returns the result.

- ssl\_context

  - sysread

  Is an alias of `"read"`.

- timeout

  Returns the timeout value of the socket as defined by the implementing class or 60 seconds by default.

- blocking

  Returns a boolean indicating whether the underlying socket is in blocking mode. By default, Net::SSL sockets are in blocking mode.

  ```
      $sock->blocking(0); # set to non-blocking mode
  ```

  This method simply calls the underlying `"blocking"` method of the IO::Socket object.

- write

  Writes the parameters passed in (thus, a list) to the socket. Returns the number of bytes written.

- syswrite

  Is an alias of `"write"`.

- accept

  Not yet implemented. Will die if called.

- getc

  Not yet implemented. Will die if called.

- getlines

  Not yet implemented. Will die if called.

- ungetc

  Not yet implemented. Will die if called.

- send\_useragent\_to\_proxy

  By default (as of version 2.80 of `"Net::SSL"` in the 0.54 distribution of Crypt::SSLeay), the user agent string is no longer sent to the proxy (but will continue to be sent to the remote host).

  The previous behaviour was of marginal benefit, and could cause fatal errors in certain scenarios (see CPAN bug #4759) and so no longer happens by default.

  To reinstate the old behaviour, call `"Net::SSL::send_useragent_to_proxy"` with a true value (usually 1).

## DIAGNOSTICS

```
  "no port given for proxy server <proxy>"
```

A proxy was specified for configuring a socket, but no port number was given. Ensure that the proxy is specified as a host:port pair, such as `"proxy.example.com:8086"`.

```
  "configure certs failed: <contents of $@>; <contents of $!>"
  "proxy connect failed: <contents of $@>; <contents of $!>"
  "Connect failed: <contents of $@>; <contents of $!>"
```

During **connect()**.

### SEE ALSO

- IO::Socket::INET

  `"Net::SSL"` is implemented by subclassing `"IO::Socket::INET"`, hence methods not specifically overridden are defined by that package.

- Net::SSLeay

  A package that provides a Perl-level interface to the `"openssl"` secure sockets layer library.
