Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Net::SSL::GetServerProUseriContributed Perl DoNet::SSL::GetServerProperties(3)

NAME
	Net::SSL::GetServerProperties -	get properties from SSL/TLS servers

VERSION
       Version 0.8, $Revision: 640 $

SYNOPSIS
	  my $prop = Net::SSL::GetServerProperties->new( host => $host,	);
	  $prop->get_properties;

	  say "Supported Cipher	Suites at Host $host: "	. $prop->accepted_ciphers->names;
	  say "Supports	SSLv2"	 if $prop->supports_sslv2;
	  say "Supports	SSLv3"	 if $prop->supports_sslv3;
	  say "Supports	TLSv1"	 if $prop->supports_tlsv1;
	  say "Supports	TLSv1.1" if $prop->supports_tlsv11;
	  say "Supports	TLSv1.2" if $prop->supports_tlsv12;

	  say "Supports	at least one Bettercrypto A Cipher Suite"	      if $prop->supports_any_bc_a;
	  say "Supports	at least one Bettercrypto B Cipher Suite"	      if $prop->supports_any_bc_b;
	  say "Supports	at least one BSI TR-02102-2 Cipher Suite with PFS"    if $prop->supports_any_bsi_pfs;
	  say "Supports	at least one BSI TR-02102-2 Cipher Suite without PFS" if $prop->supports_any_bsi_nopfs;

	  say "Supports	only Bettercrypto A Cipher Suites"	       if $prop->supports_any_bc_a;
	  say "Supports	only Bettercrypto B Cipher Suites"	       if $prop->supports_any_bc_b;
	  say "Supports	only BSI TR-02102-2 Cipher Suites with PFS"    if $prop->supports_any_bsi_pfs;
	  say "Supports	only BSI TR-02102-2 Cipher Suites without PFS" if $prop->supports_any_bsi_nopfs;

	  say "Supports	weak Cipher Suites"				       if $prop->supports_weak;
	  say "Supports	medium Cipher Suites"				       if $prop->supports_medium;
	  say "Supports	no weak	or medium Cipher Suites, only high or unknown" if $prop->supports_no_weakmedium;
	  say "Supports	ancient	SSL Versions 2.0 or 3.0"		       if $prop->supports_ancient_ssl_versions;

	  say "Cipher Suite used by Firefox:	    " .	$prop->firefox_cipher;
	  say "Cipher Suite used by Safari:	    " .	$prop->safari_cipher;
	  say "Cipher Suite used by Chrome:	    " .	$prop->chrome_cipher;
	  say "Cipher Suite used by Win	7 (IE 8):   " .	$prop->ie8win7_cipher;
	  say "Cipher Suite used by Win	10 (IE 11): " .	$prop->ie11win10_cipher;

	  say "Supports	only SSL/TLS versions recommended by BSI TR-02102-2"				if $prop->supports_only_bsi_versions;
	  say "Supports	only SSL/TLS versions and cipher suites	with PFS recommended by	BSI TR-02102-2"	if $prop->supports_only_bsi_versions_ciphers;
	  say "Supports	only TLS 1.2 "									if $prop->supports_only_tlsv12;

	  # supports_sslv3_or_newer, supports_tlsv1_or_newer, supports_tlsv11_or_newer,	supports_tlsv12_or_newer
	  # supports_max_tls11,	supports_max_tlsv1, supports_max_sslv3,	supports_only_sslv2

	  say "Ciphersuites used:";
	  say "	 * $_->{name}" foreach @{ $prop->accepted_ciphers }

	  say "Overall Score for this Host: " .	$prop->score;

	  # or:	use it with method delegation

DESCRIPTION
       TODO: Description

   Scores
       see below

   ->get_properties
       runs all	tests, gets all	properties.

   ->_calculate_score
       Internal	method (but may	be overridden or changed by method modifyer):
       Calculates the server's score, based on the accepted cipher suites and
       SSL/TLS Versions

       TODO: Description

   supports_very_weak, supports_weak, supports_medium, supports_no_weakmedium
       ...

   check_all_ciphers($ssl_version)
       Tests which CipherSuite a server	supports

       Returns true, if	the server version matches $ssl_version

   ->check_ciphers_by_tag($ssl_version,	$tag)
       checks, if the cipher suitess found by the tag are supported

   check_supported_version($ssl_version	[, $ciphers] )
       Tests, if there is a supported cipher for the given SSL/TLS version.
       When no cipher given, it	searches only for already supported ciphers
       (->accepted_ciphers)

   ->supported_cipher_names
       returns an array	(or arrayref) of the names of all suppported cipher
       suites

       TODO: Duplicate,	remove,	replace	by
       $self->accepted_ciphers->unique->names

   ->supports_only_bsi_versions
       returns true if the connection only supports BSI	recommended protocol
       versions: TLS 1.2 and maybe TLS 1.1

   ->supports_only_tlsv12
       returns true if the connection only supports TLSv12 and NO older
       version

       In future: checks, if server NOT	supports TLS 1.13!

   ->supports_only_bsi_versions_ciphers
       returns true if the connection only supports BSI	recommended protocol
       versions	AND cipher suites (with	PFS!).

   supports_ancient_ssl_versions
       returns true, if	ols SSL	versions 2.0 and 3.0 with lots of bugs and
       security	nightmares are supported.

   supports_sslv3_or_newer, supports_tlsv1_or_newer, supports_tlsv11_or_newer,
       supports_tlsv12_or_newer
       as the name says: returns true if this version and no older is
       supported

       TODO: Tests!

   supports_tlsv11_or_older, supports_tlsv1_or_older, supports_sslv3_or_older,
       supports_only_sslv2
       as the name says: returns true if this version and no newer is
       supported

       TODO: Tests!

perl v5.32.0			  2020-08-24  Net::SSL::GetServerProperties(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::SSL::GetServerProperties&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help