Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / X509RawDataKeyIdentifierClause.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ItemsChangedEventArgs.cs
- Point3D.cs
- TypeHelper.cs
- Compiler.cs
- WebPartEditVerb.cs
- EntityConnectionStringBuilderItem.cs
- FrameAutomationPeer.cs
- CaseInsensitiveOrdinalStringComparer.cs
- Memoizer.cs
- FrameworkTemplate.cs
- ResourceType.cs
- PropertyTabAttribute.cs
- ExpressionBuilderContext.cs
- ExpressionNormalizer.cs
- Underline.cs
- FrameworkContentElementAutomationPeer.cs
- AssemblyAttributes.cs
- SystemThemeKey.cs
- CanonicalFontFamilyReference.cs
- TabControlAutomationPeer.cs
- CanonicalXml.cs
- ImageMetadata.cs
- RequiredAttributeAttribute.cs
- RawStylusInputReport.cs
- PriorityBinding.cs
- XmlConvert.cs
- XomlCompilerHelpers.cs
- PageParser.cs
- AttributedMetaModel.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- OletxCommittableTransaction.cs
- BuildResult.cs
- Rect3D.cs
- PixelFormatConverter.cs
- StrongNameHelpers.cs
- SQLRoleProvider.cs
- DescriptionAttribute.cs
- Listbox.cs
- LinkUtilities.cs
- RequestCache.cs
- CompositeTypefaceMetrics.cs
- ArcSegment.cs
- IApplicationTrustManager.cs
- ExpressionVisitor.cs
- XmlSchemaFacet.cs
- XPathNavigator.cs
- VariableQuery.cs
- PathFigureCollection.cs
- DataGridRowAutomationPeer.cs
- XmlSubtreeReader.cs
- DuplicateWaitObjectException.cs
- ComplexTypeEmitter.cs
- DataTransferEventArgs.cs
- DataControlField.cs
- PersonalizationStateInfoCollection.cs
- CompositeDuplexBindingElementImporter.cs
- AxHost.cs
- XmlIterators.cs
- ImportOptions.cs
- IsolatedStorageFile.cs
- ICollection.cs
- FlowSwitchLink.cs
- XPathSingletonIterator.cs
- URLIdentityPermission.cs
- DataGridViewRowsRemovedEventArgs.cs
- ExtensibleClassFactory.cs
- ZipIOModeEnforcingStream.cs
- AttributeCollection.cs
- BinaryConverter.cs
- IndexOutOfRangeException.cs
- DBAsyncResult.cs
- AncestorChangedEventArgs.cs
- MDIWindowDialog.cs
- XmlEncoding.cs
- ServiceModelEnumValidator.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- UnsafeNativeMethodsMilCoreApi.cs
- XmlReader.cs
- Typography.cs
- XmlSchemaObjectCollection.cs
- TileBrush.cs
- ConnectionConsumerAttribute.cs
- RegexEditorDialog.cs
- LeaseManager.cs
- util.cs
- QilParameter.cs
- MenuItemStyleCollection.cs
- CalendarAutomationPeer.cs
- Point3DConverter.cs
- ProcessHostFactoryHelper.cs
- HyperLinkColumn.cs
- _TimerThread.cs
- NegotiateStream.cs
- OdbcCommandBuilder.cs
- KoreanLunisolarCalendar.cs
- VScrollProperties.cs
- DataBoundControlAdapter.cs
- XmlJsonReader.cs
- Divide.cs
- TableAutomationPeer.cs