/// <summary>
        /// Creates a new instance of the <see cref="AuthenticatedSessionKeySet"/> 
        /// class using the supplied Hash Message Authentication Code (HMAC) 
        /// key material.
        /// </summary>
        /// 
        /// <param name="hmacAlgorithmName">
        /// The well-known algorithm name for the HMAC primitive to be used to 
        /// ensure envelope integrity and authentication.
        /// </param>
        /// 
        /// <param name="hmacKeyMaterial">
        /// The key material that will be used to construct the HMAC primitive.
        /// </param>
        /// 
        /// <exception cref="ArgumentException">
        /// The <paramref name="hmacAlgorithmName"/> or 
        /// <paramref name="hmacKeyMaterial"/> parameter is <b>null</b> or empty,
        /// or the key material bytes are all zeros.
        /// </exception>
        /// 
        internal AuthenticatedSessionKeySet(
            string hmacAlgorithmName,
            byte[] hmacKeyMaterial)
        {
            HmacAlgorithmName = hmacAlgorithmName;

            _hmac = new CryptoHmac(HmacAlgorithmName, hmacKeyMaterial);
        }
 /// <summary>
 /// Calls the CardSpace service and establishes the client side of the
 /// authenticated session.
 /// </summary>
 /// 
 internal void GetToken()
 {
     SharedSecret = new CryptoHmac();
 }