hcrypto: Add exports for more crypto algorithms

Export some additional algorithms so we can make use
of them elsewhere in the code.

(cherry-picked from 08474dd0b51cfe26dfe2b5c661a2e9a4ca24267e)

Change-Id: Ie2dbbb5413ae4e190543fa0fea7dff1ccec4ae60
Allow some rfc3961 functionality to be disabled

It conflicts with v5gen in rxkad/ticket5.c

Also add include guards, which were missed previously.

(cherry-picked from 0777382e8e2cc9b428034e0b55b91931b7d9c104)

Change-Id: I6390150d51f385a544bda75719d4202ee101ed8d
libafsrpc: link afsrpc.dll to afsrfc3961.lib

(cherry-picked from 292196ad944611796370ab1648650be147841194)

Change-Id: I5bf48ed29522c0cbdc43dda63487012f14d39bbf
Update the WiX installer to know about afsrfc3961.dll

(cherry-picked from 94635f727155830b636026441d6d9122803b2e39)

Change-Id: I73389ca6fc9b14be3102bdafe1fc26b85a340f10
Use rfc3961 library to decrypt kerberos 5 tickets

Decrypt tickets with non-des enctypes by calling out to the rfc3961 library.
This requires the security object to be given an enhanced get_key callback
that supports looking up keys by enctype.
Include a wrapper around afsconf_GetKeyByTypes so rxkad doesn't have
to know anything about libauth internals/interfaces

(cherry-picked from ea4812f03d498b6a838440fa3349e085fa5ea8b5)

Change-Id: Id2b085fb41e2ed3576ec66b2914c03e78c0077ec
Asetkey now handles afsconf_rxkad_krb5 keys too

afsconf_rxkad_krb5 keys can hold any kerberos enctype, not just des.
Allow asetkey to copy them into KeyFileExt and print them, too.

(cherry-picked from 538354d4749ffc0e7cc7e9552338b8f75ed01438)

Change-Id: I11a7dc7770da58c8381accd7fa2164cdfcea43ae
Krb5 ticket support for server-to-server and localauth

Create a tkt_MakeTicket5 that creates a native krb5 rxkad token with
a service key supported by the rfc3961 library (session keys must be
provided as DES)

Update GenericAuth to search for rxkad_krb5 keys and call tkt_MakeTicket5
if it finds any.

(cherry-picked from 7ac5dddbfd439e5276ae5bea00ea22cd1b5897d3)

Change-Id: Ia9543fdcffcbf3ca899a003908662ff3daa8ee07
Derive DES/fcrypt session key from other key types

If a kerberos 5 ticket has a session key with a non-DES enctype,
use the NIST SP800-108 KDF in counter mode with HMAC_MD5 as the PRF to
construct a DES key to be used by rxkad.

To satisfy the requirements of the KDF, DES3 keys are first compressed into a
168 bit form by reversing the RFC3961 random-to-key algorithm

Windows has three additional places to get tokens, who knew?

(cherry-picked from 7e4e06b87a09197816b0e1ae132e38dc30090574)

Change-Id: I4dc8e83a641f9892b31c109fb9025251de3dcb27
Use the string form of key types in asetkey

Check for rxkad-k5 keys in the six-argument form and warn they are
unsupported.  Do sanity-checking on the type.

(cherry-picked from fe73ac62fbda1d4e563ef03114813f148c7d321e)

Change-Id: I59fc1702dc1b201340dc033adeb8aa57251feee6
Update the asetkey man page for rxkad-k5

Also add the usage for the six-argument form while here.

Update some generic text to account for the existence of rxkad-k5,
and mention that the Update Server is not the only thing which can copy
around KeyFiles.  Give an example of the seven-argument form's usage for
rxkad-k5.

(cherry picked from commit 2a9a98f40514e36fd3a3a4b559de5c92d552dc8a)

Change-Id: I3156a4f27c4aa7a7db546dbd3d012eb7c39e37c5
Windows: 1.7.26 Change Log

Change-Id: I4adc3d16a515bc776d3db45a4e2766af37ecfa88
1.7.26 (1.7.2600) version update

Change-Id: Ic234246c28afeb4816146b26108eb51afaa1faad