Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / X509RawDataKeyIdentifierClause.cs / 1 / X509RawDataKeyIdentifierClause.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.IdentityModel.Tokens
{
using System.Globalization;
using System.Security.Cryptography.X509Certificates;
public class X509RawDataKeyIdentifierClause : BinaryKeyIdentifierClause
{
X509Certificate2 certificate;
X509AsymmetricSecurityKey key;
public X509RawDataKeyIdentifierClause(X509Certificate2 certificate)
: this(GetRawData(certificate), false)
{
this.certificate = certificate;
}
public X509RawDataKeyIdentifierClause(byte[] certificateRawData)
: this(certificateRawData, true)
{
}
internal X509RawDataKeyIdentifierClause(byte[] certificateRawData, bool cloneBuffer)
: base(null, certificateRawData, cloneBuffer)
{
}
public override bool CanCreateKey
{
get { return true; }
}
public override SecurityKey CreateKey()
{
if (this.key == null)
{
if (this.certificate == null)
{
this.certificate = new X509Certificate2(GetBuffer());
}
this.key = new X509AsymmetricSecurityKey(this.certificate);
}
return this.key;
}
static byte[] GetRawData(X509Certificate certificate)
{
if (certificate == null)
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("certificate");
return certificate.GetRawCertData();
}
public byte[] GetX509RawData()
{
return GetBuffer();
}
public bool Matches(X509Certificate2 certificate)
{
if (certificate == null)
return false;
return Matches(GetRawData(certificate));
}
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "X509RawDataKeyIdentifierClause(RawData = {0})", ToBase64String());
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DocumentGrid.cs
- TextParaLineResult.cs
- TimeEnumHelper.cs
- OracleConnectionFactory.cs
- RowToParametersTransformer.cs
- DynamicPhysicalDiscoSearcher.cs
- ColorContext.cs
- DataBinder.cs
- Vars.cs
- UIElement.cs
- formatter.cs
- MarshalByValueComponent.cs
- HttpListenerRequest.cs
- PositiveTimeSpanValidatorAttribute.cs
- EdmRelationshipRoleAttribute.cs
- TimeSpanSecondsConverter.cs
- StorageConditionPropertyMapping.cs
- QueryContext.cs
- LinkedResource.cs
- SqlTriggerAttribute.cs
- LineSegment.cs
- DataIdProcessor.cs
- CustomLineCap.cs
- SafeNativeMethodsCLR.cs
- DocumentXPathNavigator.cs
- FrameworkElementAutomationPeer.cs
- HttpListener.cs
- HttpPostedFile.cs
- HandleExceptionArgs.cs
- Stopwatch.cs
- ObjectViewQueryResultData.cs
- BitmapFrameEncode.cs
- SqlBuffer.cs
- ViewStateModeByIdAttribute.cs
- Options.cs
- SymLanguageType.cs
- MediaTimeline.cs
- WindowsGraphics2.cs
- TCPListener.cs
- IndicShape.cs
- FlowDocumentPage.cs
- ADMembershipUser.cs
- SessionIDManager.cs
- AdRotator.cs
- __TransparentProxy.cs
- EventLogPermissionEntry.cs
- SpotLight.cs
- HostingEnvironment.cs
- ProcessModelSection.cs
- Cursor.cs
- HtmlPageAdapter.cs
- MonthCalendar.cs
- SpStreamWrapper.cs
- MsmqBindingFilter.cs
- InputQueueChannel.cs
- RowToParametersTransformer.cs
- DataGridDesigner.cs
- RTLAwareMessageBox.cs
- EffectiveValueEntry.cs
- MaterialGroup.cs
- Menu.cs
- _NestedMultipleAsyncResult.cs
- IListConverters.cs
- activationcontext.cs
- ColorTransform.cs
- OutputCacheModule.cs
- MessageQueuePermission.cs
- GlobalItem.cs
- GeometryDrawing.cs
- ToolZone.cs
- DragDropManager.cs
- ItemsControl.cs
- RenamedEventArgs.cs
- FontResourceCache.cs
- DataFormat.cs
- SmtpReplyReaderFactory.cs
- SQLConvert.cs
- CodeCatchClauseCollection.cs
- basevalidator.cs
- HostedTransportConfigurationBase.cs
- DocumentPageTextView.cs
- ContentFileHelper.cs
- ConfigurationSectionGroupCollection.cs
- ArrayList.cs
- RegexWorker.cs
- PageAsyncTask.cs
- oledbconnectionstring.cs
- GPStream.cs
- ObjectDataSourceStatusEventArgs.cs
- SecurityTokenResolver.cs
- ObjectDataSource.cs
- ReplacementText.cs
- ChameleonKey.cs
- XmlTextReaderImpl.cs
- ItemsPresenter.cs
- CmsInterop.cs
- SqlCommandSet.cs
- ByteFacetDescriptionElement.cs
- SecurityUtils.cs
- Pen.cs