CASA/c_micasad/lib/common/LinkedKeyInfo.cs

99 lines
3.1 KiB
C#

/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
using System;
namespace Novell.CASA.MiCasa.Common
{
/// <summary>
/// Summary description for LinkInfo.
/// </summary>
///
[Serializable]
public class LinkedKeyInfo
{
//private string m_sDestStoreID = null;
//private string m_sDestKeychainID = null;
private string m_sDestSecretID = null;
private string m_sDestKeyID = null;
public LinkedKeyInfo(string sDestSecretID, string sDestKey)
{
if (sDestSecretID != null)
{
if (sDestSecretID.StartsWith("SS_CredSet"))
sDestSecretID = "SS_CredSet:" + Utils.EscapeReservedChars(sDestSecretID.Substring(11)) + '\0';
else
sDestSecretID = "SS_CredSet:" + Utils.EscapeReservedChars(sDestSecretID) + '\0';
}
m_sDestSecretID = sDestSecretID;
m_sDestKeyID = sDestKey;
}
public LinkedKeyInfo(string sDestSecretID, string sDestKey, bool bAlreadyEscaped)
{
if (!bAlreadyEscaped)
{
if (sDestSecretID != null)
{
if (sDestSecretID.StartsWith("SS_CredSet"))
sDestSecretID = "SS_CredSet:" + Utils.EscapeReservedChars(sDestSecretID.Substring(11)) + '\0';
else
sDestSecretID = "SS_CredSet:" + Utils.EscapeReservedChars(sDestSecretID) + '\0';
}
}
m_sDestSecretID = sDestSecretID;
m_sDestKeyID = sDestKey;
}
public string GetLinkID()
{
return m_sDestSecretID + ":" + m_sDestKeyID;
}
public string GetLinkedSecretID()
{
return m_sDestSecretID;
}
public string GetLinkedSecretID(bool bUnescape)
{
if (bUnescape)
{
if (m_sDestSecretID.StartsWith("SS_CredSet"))
return ("SS_CredSet:" + Utils.UnescapeString(m_sDestSecretID.Substring(11)));
else
return Utils.UnescapeString(m_sDestSecretID);
}
return m_sDestSecretID;
}
public string GetLinkedKeyID()
{
return m_sDestKeyID;
}
}
}