208 lines
9.9 KiB
Text
208 lines
9.9 KiB
Text
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# This file enables policy testing
|
|
#
|
|
# The policy string is set to the config= line in the pkcs11.txt
|
|
# it currently has 2 keywords:
|
|
#
|
|
# disallow= turn off the use of this algorithm by policy. (implies disable)
|
|
# allow= allow this algorithm to by used if selected by policy.
|
|
# disable= turn off the use of this algorithm even if allowed by policy
|
|
# (application can override)
|
|
# enable= turn off this algorithm by default (implies allow)
|
|
# flags= policy-lock: can't change policy with NSS_SetAlgorithmPolicy,
|
|
# NSS_SetOption, or SSL_SetCipherPolicy
|
|
# ssl-lock: can't change the cipher suite settings with the application.
|
|
#
|
|
# The syntax is disallow=algorithm{/uses}:algorithm{/uses}
|
|
# where {} signifies an optional element
|
|
#
|
|
# valid algorithms are:
|
|
# ECC curves:
|
|
# PRIME192V1
|
|
# PRIME192V2
|
|
# PRIME192V3
|
|
# PRIME239V1
|
|
# PRIME239V2
|
|
# PRIME239V3
|
|
# PRIME256V1
|
|
# SECP112R1
|
|
# SECP112R2
|
|
# SECP128R1
|
|
# SECP128R2
|
|
# SECP160K1
|
|
# SECP160R1
|
|
# SECP160R2
|
|
# SECP192K1
|
|
# SECP192R1
|
|
# SECP224K1
|
|
# SECP256K1
|
|
# SECP256R1
|
|
# SECP384R1
|
|
# SECP521R1
|
|
# C2PNB163V1
|
|
# C2PNB163V2
|
|
# C2PNB163V3
|
|
# C2PNB176V1
|
|
# C2TNB191V1
|
|
# C2TNB191V2
|
|
# C2TNB191V3
|
|
# C2ONB191V4
|
|
# C2ONB191V5
|
|
# C2PNB208W1
|
|
# C2TNB239V1
|
|
# C2TNB239V2
|
|
# C2TNB239V3
|
|
# C2ONB239V4
|
|
# C2ONB239V5
|
|
# C2PNB272W1
|
|
# C2PNB304W1
|
|
# C2TNB359V1
|
|
# C2PNB368W1
|
|
# C2TNB431R1
|
|
# SECT113R1
|
|
# SECT131R1
|
|
# SECT131R1
|
|
# SECT131R2
|
|
# SECT163K1
|
|
# SECT163R1
|
|
# SECT163R2
|
|
# SECT193R1
|
|
# SECT193R2
|
|
# SECT233K1
|
|
# SECT233R1
|
|
# SECT239K1
|
|
# SECT283K1
|
|
# SECT283R1
|
|
# SECT409K1
|
|
# SECT409R1
|
|
# SECT571K1
|
|
# SECT571R1
|
|
# Signatures:
|
|
# DSA
|
|
# RSA-PKCS
|
|
# RSA-PSS
|
|
# ECDSA
|
|
# Hashes:
|
|
# MD2
|
|
# MD4
|
|
# MD5
|
|
# SHA1
|
|
# SHA224
|
|
# SHA256
|
|
# SHA384
|
|
# SHA512
|
|
# MACs:
|
|
# HMAC-SHA1
|
|
# HMAC-SHA224
|
|
# HMAC-SHA256
|
|
# HMAC-SHA384
|
|
# HMAC-SHA512
|
|
# HMAC-MD5
|
|
# Ciphers:
|
|
# AES128-CBC
|
|
# AES192-CBC
|
|
# AES256-CBC
|
|
# AES128-GCM
|
|
# AES192-GCM
|
|
# AES256-GCM
|
|
# CAMELLIA128-CBC
|
|
# CAMELLIA192-CBC
|
|
# CAMELLIA256-CBC
|
|
# SEED-CBC
|
|
# DES-EDE3-CBC
|
|
# DES-40-CBC
|
|
# DES-CBC
|
|
# NULL-CIPHER
|
|
# RC2
|
|
# RC4
|
|
# IDEA
|
|
# Key exchange
|
|
# RSA
|
|
# RSA-EXPORT
|
|
# DHE-RSA
|
|
# DHE-DSS
|
|
# DH-RSA
|
|
# DH-DSS
|
|
# ECDHE-ECDSA
|
|
# ECDHE-RSA
|
|
# ECDH-ECDSA
|
|
# ECDH-RSA
|
|
# SSL Versions
|
|
# SSL2.0
|
|
# SSL3.0
|
|
# TLS1.0
|
|
# TLS1.1
|
|
# TLS1.2
|
|
# DTLS1.1
|
|
# DTLS1.2
|
|
# Include all of the above:
|
|
# ALL
|
|
#-----------------------------------------------
|
|
# Uses are:
|
|
# ssl
|
|
# ssl-key-exchange
|
|
# key-exchange (includes ssl-key-exchange)
|
|
# cert-signature
|
|
# all-signature (includes cert-signature)
|
|
# signature (all signatures off, some signature allowed based on other option)
|
|
# all (includes all of the above)
|
|
#-----------------------------------------------
|
|
# In addition there are the following options:
|
|
# min-rsa
|
|
# min-dh
|
|
# min-dsa
|
|
# they have the following syntax:
|
|
# allow=min-rsa=512:min-dh=1024
|
|
#
|
|
# in the following tests, we use the cipher suite 'd':
|
|
# d SSL3 RSA WITH 3DES EDE CBC SHA (=:000a).
|
|
# NOTE: the certificates used in validation are rsa-pkcs1/sha256 signed.
|
|
#
|
|
# Exp Enable Enable Cipher Config Policy Test Name
|
|
# Ret EC TLS
|
|
# turn on single cipher
|
|
0 noECC SSL3 d disallow=all_allow=hmac-sha1:sha256:rsa-pkcs:rsa:des-ede3-cbc:tls-version-min=ssl3.0:tls-version-max=ssl3.0 Allowed by Narrow Policy
|
|
0 noECC SSL3 d disallow=all_allow=hmac-sha1/ssl,ssl-key-exchange:sha256/all-signature:rsa-pkcs/all-signature:rsa/ssl-key-exchange:des-ede3-cbc:tls-version-min=ssl3.0:tls-version-max=ssl3.0 Allowed by Strict Policy
|
|
0 noECC SSL3 d disallow=all_allow=md2/all:md4/all:md5/all:sha1/all:sha256/all:sha384/all:sha512/all:rsa-pkcs/all:dsa/all:rsa-pss/all:ecdsa/all:hmac-sha1/all:hmac-sha224/all:hmac-sha256/all:hmac-sha384/all:hmac-sha512/all:hmac-md5/all:camellia128-cbc/all:camellia192-cbc/all:camellia256-cbc/all:seed-cbc/all:des-ede3-cbc/all:des-40-cbc/all:des-cbc/all:null-cipher/all:rc2/all:rc4/all:idea/all:rsa/all:rsa-export/all:dhe-rsa/all:dhe-dss/all:ecdhe-ecdsa/all:ecdhe-rsa/all:ecdh-ecdsa/all:ecdh-rsa/all:tls-version-min=ssl2.0:tls-version-max=tls1.2 Allow All Explicitly
|
|
1 noECC SSL3 d disallow=all Disallow All Explicitly
|
|
# turn off signature only
|
|
1 noECC SSL3 d disallow=all/signature Disallow all signatures with Explicitly
|
|
1 noECC SSL3 d disallow=sha256 Disallow SHA256 Explicitly
|
|
1 noECC SSL3 d disallow=sha256/cert-signature Disallow SHA256 Certificate signature Explicitly
|
|
1 noECC SSL3 d disallow=sha256/signature Disallow All SHA256 signatures Explicitly
|
|
1 noECC SSL3 d disallow=sha256/all-signature Disallow Any SHA256 signature Explicitly
|
|
1 noECC SSL3 d disallow=all_allow=hmac-sha1:rsa/ssl-key-exchange:des-ede3-cbc:tls-version-min=ssl3.0:tls-version-max=ssl3.0 Disallow SHA256 Signatures Implicitly Narrow
|
|
1 noECC SSL3 d disallow=all_allow=md2/all:md4/all:md5/all:sha1/all:sha384/all:sha512/all:rsa-pkcs/all:rsa-pss/all:dsa/all:ecdsa/all:hmac-sha1/all:hmac-sha224/all:hmac-sha256/all:hmac-sha384/all:hmac-sha512/all:hmac-md5/all:camellia128-cbc/all:camellia192-cbc/all:camellia256-cbc/all:seed-cbc/all:des-ede3-cbc/all:des-40-cbc/all:des-cbc/all:null-cipher/all:rc2/all:rc4/all:idea/all:rsa/all:rsa-export/all:dhe-rsa/all:dhe-dss/all:ecdhe-ecdsa/all:ecdhe-rsa/all:ecdh-ecdsa/all:ecdh-rsa/all:tls-version-min=ssl2.0:tls-version-max=tls1.2 Disallow SHA256 Signatures Implicitly
|
|
# turn off single cipher
|
|
1 noECC SSL3 d disallow=des-ede3-cbc Disallow Cipher Explicitly
|
|
1 noECC SSL3 d disallow=all_allow=hmac-sha1:sha256:rsa-pkcs:rsa:des-cbc:tls-version-min=ssl3.0:tls-version-max=ssl3.0 Disallow Cipher Implicitly Narrow
|
|
1 noECC SSL3 d disallow=all_allow=md2/all:md4/all:md5/all:sha1/all:sha256/all:sha384/all:sha512/all:rsa-pkcs/all:rsa-pss/all:ecdsa/all:dsa/all:hmac-sha1/all:hmac-sha224/all:hmac-sha256/all:hmac-sha384/all:hmac-sha512/all:hmac-md5/all:camellia128-cbc/all:camellia192-cbc/all:camellia256-cbc/all:seed-cbc/all:des-40-cbc/all:des-cbc/all:null-cipher/all:rc2/all:rc4/all:idea/all:rsa/all:rsa-export/all:dhe-rsa/all:dhe-dss/all:ecdhe-ecdsa/all:ecdhe-rsa/all:ecdh-ecdsa/all:ecdh-rsa/all:tls-version-min=ssl2.0:tls-verion-max=tls1.2 Disallow Cipher Implicitly
|
|
# turn off H-Mac
|
|
1 noECC SSL3 d disallow=hmac-sha1 Disallow HMAC Explicitly
|
|
1 noECC SSL3 d disallow=all_allow=md5:sha256:rsa:des-ede3-cbc:tls-version-min=ssl3.0:tls-version-max=ssl3.0 Disallow HMAC Implicitly Narrow
|
|
1 noECC SSL3 d disallow=all_allow=md2/all:md4/all:md5/all:sha1/all:sha256/all:sha384/all:sha512/all:hmac-sha224/all:hmac-sha256/all:hmac-sha384/all:hmac-sha512/all:hmac-md5/all:camellia128-cbc/all:camellia192-cbc/all:camellia256-cbc/all:seed-cbc/all:des-ede3-cbc/all:des-40-cbc/all:des-cbc/all:null-cipher/all:rc2/all:rc4/all:idea/all:rsa/all:rsa-export/all:dhe-rsa/all:dhe-dss/all:ecdhe-ecdsa/all:ecdhe-rsa/all:ecdh-ecdsa/all:ecdh-rsa/all:tls-version-min=ssl2.0:tls-version-max=tls1.2 Disallow HMAC Signatures Implicitly
|
|
# turn off key exchange
|
|
1 noECC SSL3 d disallow=rsa/ssl-key-exchange Disallow Key Exchange Explicitly
|
|
1 noECC SSL3 d disallow=all_allow=hmac-sha1:sha256:rsa-pkcs:dh-dss:des-ede3-cbc:tls-version-min=ssl3.0:tls-version-max=ssl3.0 Disallow Key Exchange Implicitly Narrow
|
|
1 noECC SSL3 d disallow=all_allow=md2/all:md4/all:md5/all:sha1/all:sha256/all:sha384/all:sha512/all:rsa-pkcs/all:rsa-pss/all:ecdsa/all:dsa/all:hmac-sha1/all:hmac-sha224/all:hmac-sha256/all:hmac-sha384/all:hmac-sha512/all:hmac-md5/all:camellia128-cbc/all:camellia192-cbc/all:camellia256-cbc/all:seed-cbc/all:des-ede3-cbc/all:des-40-cbc/all:des-cbc/all:null-cipher/all:rc2/all:rc4/all:idea/all:rsa-export/all:dhe-rsa/all:dhe-dss/all:ecdhe-ecdsa/all:ecdhe-rsa/all:ecdh-ecdsa/all:ecdh-rsa/all:tls-version-min=ssl2.0:tls-version-max=tls1.2 Disallow Key Exchange Signatures Implicitly
|
|
# turn off version
|
|
1 noECC SSL3 d allow=tls-version-min=tls1.0:tls-version-max=tls1.2 Disallow Version Exlicitly
|
|
1 noECC SSL3 d disallow=all_allow=hmac-sha1:sha256:rsa-pkcs:rsa:des-ede3-cbc:tls-version-min=tls1.0:tls-version-max=tls1.2 Disallow Version Implicitly Narrow
|
|
1 noECC SSL3 d disallow=all_allow=md2/all:md4/all:md5/all:sha1/all:sha256/all:sha384/all:sha512/all:rsa-pkcs/all:rsa-pss/all:ecdsa/all:dsa/all:hmac-sha1/all:hmac-sha224/all:hmac-sha256/all:hmac-sha384/all:hmac-sha512/all:hmac-md5/all:camellia128-cbc/all:camellia192-cbc/all:camellia256-cbc/all:seed-cbc/all:des-ede3-cbc/all:des-40-cbc/all:des-cbc/all:null-cipher/all:rc2/all:rc4/all:idea/all:rsa/all:rsa-export/all:dhe-rsa/all:dhe-dss/all:ecdhe-ecdsa/all:ecdhe-rsa/all:ecdh-ecdsa/all:ecdh-rsa/all:tls-version-min=tls1.0:tls-version-max=tls1.2 Disallow Version Implicitly
|
|
0 noECC SSL3 d disallow=dsa Disallow DSA Signatures Explicitly
|
|
1 noECC SSL3 d disallow=rsa-pkcs Disallow RSA PKCS 1 Signatures Explicitly
|
|
1 noECC SSL3 d allow=rsa-min=16384:key-size-flags=key-size-verify Restrict RSA keys on signature verification
|
|
0 noECC SSL3 d allow=rsa-min=16384:key-size-flags=key-size-sign Restrict RSA keys on signing
|
|
1 noECC SSL3 d allow=rsa-min=16384:key-size-flags=key-size-ssl Restrict RSA keys when used in SSL
|
|
0 noECC SSL3 d allow=rsa-min=1023 Restrict RSA keys when used in SSL
|
|
# test default settings
|
|
# NOTE: tstclient will attempt to overide the defaults, so we detect we
|
|
# were successful by locking in our settings
|
|
0 noECC SSL3 d allow=all_disable=all Disable all by default, application override
|
|
1 noECC SSL3 d allow=all_disable=all_flags=ssl-lock,policy-lock Disable all by default, prevent application from enabling
|
|
0 noECC SSL3 d allow=all_disable=all_flags=policy-lock Disable all by default, lock policy (application can still change the ciphers)
|
|
# explicitly enable :002f RSA_AES_128_CBC_SHA1 and lock it in
|
|
0 noECC SSL3 d allow=all_disable=all_enable=hmac-sha1:sha256:rsa-pkcs:rsa:aes128-cbc:tls-version-min=ssl3.0:tls-version-max=ssl3.0_flags=ssl-lock Lock in a different ciphersuite that the one the application asks for
|