target = "https://tools.ietf.org/rfc/rfc4492#section-5.10"

# 5.10.  ECDH, ECDSA, and RSA Computations
#
# All ECDH calculations (including parameter and key generation as well
# as the shared secret calculation) are performed according to [6]
# using the ECKAS-DH1 scheme with the identity map as key derivation
# function (KDF), so that the premaster secret is the x-coordinate of
# the ECDH shared secret elliptic curve point represented as an octet
# string.  Note that this octet string (Z in IEEE 1363 terminology) as
# output by FE2OSP, the Field Element to Octet String Conversion
# Primitive, has constant length for any given field; leading zeros
# found in this octet string MUST NOT be truncated.
# 
# (Note that this use of the identity KDF is a technicality.  The
# complete picture is that ECDH is employed with a non-trivial KDF
# because TLS does not directly use the premaster secret for anything
# other than for computing the master secret.  As of TLS 1.0 [2] and
# 1.1 [3], this means that the MD5- and SHA-1-based TLS PRF serves as a
# KDF; it is conceivable that future TLS versions or new TLS extensions
# introduced in the future may vary this computation.)
# 
# All ECDSA computations MUST be performed according to ANSI X9.62 [7]
# or its successors.  Data to be signed/verified is hashed, and the
# result run directly through the ECDSA algorithm with no additional
# hashing.  The default hash function is SHA-1 [10], and sha_size (see
# Sections 5.4 and 5.8) is 20.  However, an alternative hash function,
# such as one of the new SHA hash functions specified in FIPS 180-2
# [10], may be used instead if the certificate containing the EC public
# 
# key explicitly requires use of another hash function.  (The mechanism
# for specifying the required hash function has not been standardized,
# but this provision anticipates such standardization and obviates the
# need to update this document in response.  Future PKIX RFCs may
# choose, for example, to specify the hash function to be used with a
# public key in the parameters field of subjectPublicKeyInfo.)
# 
# All RSA signatures must be generated and verified according to PKCS#1
# [12] block type 1.

[[spec]]
level = "MUST"
quote = '''
Note that this octet string (Z in IEEE 1363 terminology) as
output by FE2OSP, the Field Element to Octet String Conversion
Primitive, has constant length for any given field; leading zeros
found in this octet string MUST NOT be truncated.
'''

[[spec]]
level = "MUST"
quote = '''
All ECDSA computations MUST be performed according to ANSI X9.62 [7]
or its successors.
'''

