Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / X509SubjectKeyIdentifierClause.cs / 1 / X509SubjectKeyIdentifierClause.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; using System.Security.Cryptography.X509Certificates; public class X509SubjectKeyIdentifierClause : BinaryKeyIdentifierClause { const string SubjectKeyIdentifierOid = "2.5.29.14"; const int SkiDataOffset = 2; public X509SubjectKeyIdentifierClause(byte[] ski) : this(ski, true) { } internal X509SubjectKeyIdentifierClause(byte[] ski, bool cloneBuffer) : base(null, ski, cloneBuffer) { } static byte[] GetSkiRawData(X509Certificate2 certificate) { if (certificate == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("certificate"); X509SubjectKeyIdentifierExtension skiExtension = certificate.Extensions[SubjectKeyIdentifierOid] as X509SubjectKeyIdentifierExtension; if (skiExtension != null) { return skiExtension.RawData; } else { return null; } } public byte[] GetX509SubjectKeyIdentifier() { return GetBuffer(); } public bool Matches(X509Certificate2 certificate) { if (certificate == null) return false; byte[] data = GetSkiRawData(certificate); return data != null && Matches(data, SkiDataOffset); } public static bool TryCreateFrom(X509Certificate2 certificate, out X509SubjectKeyIdentifierClause keyIdentifierClause) { byte[] data = GetSkiRawData(certificate); keyIdentifierClause = null; if (data != null) { byte[] ski = SecurityUtils.CloneBuffer(data, SkiDataOffset, data.Length - SkiDataOffset); keyIdentifierClause = new X509SubjectKeyIdentifierClause(ski, false); } return keyIdentifierClause != null; } public static bool CanCreateFrom(X509Certificate2 certificate) { return null != GetSkiRawData(certificate); } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "X509SubjectKeyIdentifierClause(SKI = 0x{0})", ToHexString()); } } } // 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
- TabItemWrapperAutomationPeer.cs
- MetadataUtilsSmi.cs
- oledbconnectionstring.cs
- ActivityExecutionContextCollection.cs
- WebPartHelpVerb.cs
- MapPathBasedVirtualPathProvider.cs
- Win32KeyboardDevice.cs
- MetaColumn.cs
- PointHitTestParameters.cs
- ObjectDataSourceFilteringEventArgs.cs
- SkinBuilder.cs
- CharKeyFrameCollection.cs
- RSACryptoServiceProvider.cs
- HostedHttpTransportManager.cs
- ListViewItemEventArgs.cs
- WebPartVerb.cs
- UserControl.cs
- MessageHeaderDescription.cs
- ColorContext.cs
- BmpBitmapEncoder.cs
- RowToParametersTransformer.cs
- StronglyTypedResourceBuilder.cs
- RijndaelManaged.cs
- Interlocked.cs
- TextElementCollectionHelper.cs
- FindCriteria.cs
- ColorInterpolationModeValidation.cs
- StateItem.cs
- UnknownBitmapDecoder.cs
- Tool.cs
- XmlAttributes.cs
- PersistenceContextEnlistment.cs
- AesManaged.cs
- Int32RectConverter.cs
- BitmapPalette.cs
- DefaultPrintController.cs
- VectorCollectionValueSerializer.cs
- compensatingcollection.cs
- GlyphRun.cs
- ListViewTableRow.cs
- TemplateLookupAction.cs
- Ops.cs
- CanExecuteRoutedEventArgs.cs
- FeatureSupport.cs
- CompoundFileIOPermission.cs
- ResourceWriter.cs
- DocumentOrderComparer.cs
- _SslStream.cs
- DiagnosticTrace.cs
- Brush.cs
- PrinterResolution.cs
- CodeGenerationManager.cs
- SByteStorage.cs
- ExecutedRoutedEventArgs.cs
- StaticResourceExtension.cs
- BaseCollection.cs
- HtmlForm.cs
- RangeValidator.cs
- PrintDialog.cs
- VisualTreeHelper.cs
- MDIControlStrip.cs
- Wizard.cs
- HttpWebResponse.cs
- xdrvalidator.cs
- CodeDirectionExpression.cs
- GAC.cs
- ImageSource.cs
- ContentElement.cs
- ReflectionServiceProvider.cs
- ProtocolsConfigurationEntry.cs
- Cell.cs
- MultipleViewProviderWrapper.cs
- UnmanagedMemoryStream.cs
- SqlGenericUtil.cs
- EventWaitHandleSecurity.cs
- MimeMapping.cs
- IUnknownConstantAttribute.cs
- SkipQueryOptionExpression.cs
- PropertyOverridesDialog.cs
- MouseBinding.cs
- SoapSchemaMember.cs
- BuildProvidersCompiler.cs
- QfeChecker.cs
- _SpnDictionary.cs
- Translator.cs
- ValidatorCompatibilityHelper.cs
- PropertyDescriptorGridEntry.cs
- BigInt.cs
- XmlDataSourceDesigner.cs
- AbsoluteQuery.cs
- SafeWaitHandle.cs
- DetailsViewDeleteEventArgs.cs
- DockAndAnchorLayout.cs
- QueryAsyncResult.cs
- LambdaCompiler.Binary.cs
- EventMappingSettings.cs
- Selector.cs
- SafeRightsManagementPubHandle.cs
- BrushConverter.cs
- CustomSignedXml.cs