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
- ByteViewer.cs
- bidPrivateBase.cs
- XmlNodeList.cs
- CodeTypeOfExpression.cs
- HelpInfo.cs
- FormsAuthenticationUser.cs
- FederatedMessageSecurityOverHttpElement.cs
- FontWeights.cs
- TaiwanCalendar.cs
- Configuration.cs
- HandleExceptionArgs.cs
- ConfigurationException.cs
- MaterialCollection.cs
- SQLMoney.cs
- UrlPath.cs
- ImageMap.cs
- AttributeUsageAttribute.cs
- SortDescription.cs
- FigureParagraph.cs
- HeaderedItemsControl.cs
- OracleColumn.cs
- AppDomainUnloadedException.cs
- StatusBar.cs
- DrawingContext.cs
- ZoneLinkButton.cs
- EventTrigger.cs
- TTSEngineTypes.cs
- oledbmetadatacollectionnames.cs
- LiteralText.cs
- TraversalRequest.cs
- DataListItemEventArgs.cs
- OpenTypeLayoutCache.cs
- ProviderBase.cs
- PolyBezierSegmentFigureLogic.cs
- DiscoveryServiceExtension.cs
- DataGridTable.cs
- DataAccessor.cs
- COM2EnumConverter.cs
- XmlTextWriter.cs
- ProviderConnectionPointCollection.cs
- WindowAutomationPeer.cs
- SafeThemeHandle.cs
- SqlBulkCopy.cs
- PropertyInformation.cs
- SHA1.cs
- QilLiteral.cs
- BreakRecordTable.cs
- Win32MouseDevice.cs
- ComponentManagerBroker.cs
- ImageMapEventArgs.cs
- ServiceOperationViewControl.cs
- SystemIPAddressInformation.cs
- TableItemPatternIdentifiers.cs
- _TLSstream.cs
- SqlErrorCollection.cs
- PolicyStatement.cs
- WorkingDirectoryEditor.cs
- InheritanceService.cs
- BindingList.cs
- ValueTypeFixupInfo.cs
- HtmlImageAdapter.cs
- ValueTypeFixupInfo.cs
- filewebrequest.cs
- GraphicsState.cs
- StartUpEventArgs.cs
- IncomingWebResponseContext.cs
- Matrix3DStack.cs
- TextSelectionHelper.cs
- CqlParserHelpers.cs
- TranslateTransform3D.cs
- MulticastOption.cs
- ClientSettings.cs
- GridViewColumnHeaderAutomationPeer.cs
- ConfigUtil.cs
- FixedSOMSemanticBox.cs
- XamlSerializerUtil.cs
- UTF32Encoding.cs
- NativeMethods.cs
- TaskForm.cs
- SynchronizingStream.cs
- EditorZoneBase.cs
- UTF32Encoding.cs
- Delegate.cs
- Light.cs
- TdsParserHelperClasses.cs
- CDSsyncETWBCLProvider.cs
- XmlSchemaSimpleTypeRestriction.cs
- ResourceDescriptionAttribute.cs
- TdsEnums.cs
- UpdatePanelControlTrigger.cs
- LinqDataSourceView.cs
- metadatamappinghashervisitor.cs
- ComponentDispatcher.cs
- ViewStateAttachedPropertyFeature.cs
- ScriptIgnoreAttribute.cs
- UIElementParagraph.cs
- ZipIOFileItemStream.cs
- TriggerActionCollection.cs
- URLAttribute.cs
- SamlAdvice.cs