61 lines
1.9 KiB
C#
61 lines
1.9 KiB
C#
|
//-----------------------------------------------------------------------
|
||
|
// <copyright file="ProtectedKey.cs" company="Microsoft">
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
//-----------------------------------------------------------------------
|
||
|
|
||
|
namespace System.IdentityModel.Protocols.WSTrust
|
||
|
{
|
||
|
using System.IdentityModel.Tokens;
|
||
|
|
||
|
/// <summary>
|
||
|
/// This class are used in defining Entropy and RequestProofToken element inside the
|
||
|
/// RequestSecurityToken and RequestSecurityTokenResponse.
|
||
|
/// </summary>
|
||
|
public class ProtectedKey
|
||
|
{
|
||
|
byte[] _secret;
|
||
|
EncryptingCredentials _wrappingCredentials;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Use this constructor if we want to send the key material in clear text.
|
||
|
/// </summary>
|
||
|
/// <param name="secret">The key material that needs to be protected.</param>
|
||
|
public ProtectedKey(byte[] secret)
|
||
|
{
|
||
|
_secret = secret;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Use this constructor if we want to send the key material encrypted.
|
||
|
/// </summary>
|
||
|
/// <param name="secret">The key material that needs to be protected.</param>
|
||
|
/// <param name="wrappingCredentials">The encrypting credentials used to encrypt the key material.</param>
|
||
|
public ProtectedKey(byte[] secret, EncryptingCredentials wrappingCredentials)
|
||
|
{
|
||
|
_secret = secret;
|
||
|
_wrappingCredentials = wrappingCredentials;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Gets the key material.
|
||
|
/// </summary>
|
||
|
public byte[] GetKeyBytes()
|
||
|
{
|
||
|
return _secret;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Gets the encrypting credentials. Null means that the keys are not encrypted.
|
||
|
/// </summary>
|
||
|
public EncryptingCredentials WrappingCredentials
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return _wrappingCredentials;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|