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
- GenericTextProperties.cs
- TextParagraphView.cs
- Storyboard.cs
- TypeToken.cs
- DbConnectionPoolCounters.cs
- ObservableCollectionDefaultValueFactory.cs
- TextBox.cs
- EntitySetDataBindingList.cs
- TableLayoutPanelCellPosition.cs
- PermissionSetTriple.cs
- behaviorssection.cs
- VisualBasicImportReference.cs
- ApplicationHost.cs
- AttachInfo.cs
- arabicshape.cs
- Regex.cs
- DataSourceControlBuilder.cs
- QilStrConcat.cs
- EntityDataReader.cs
- Clock.cs
- DataGridViewButtonCell.cs
- WCFBuildProvider.cs
- DelegatingTypeDescriptionProvider.cs
- VirtualPathProvider.cs
- RichTextBoxDesigner.cs
- XmlILAnnotation.cs
- SortDescription.cs
- OdbcConnectionOpen.cs
- NonClientArea.cs
- _HeaderInfoTable.cs
- RunClient.cs
- WeakHashtable.cs
- MultiView.cs
- ObjectToken.cs
- PeerNameResolver.cs
- SqlException.cs
- TextSelectionHelper.cs
- AsyncOperation.cs
- EncryptRequest.cs
- Brush.cs
- SplayTreeNode.cs
- SettingsBase.cs
- NodeLabelEditEvent.cs
- DependencyPropertyKind.cs
- itemelement.cs
- CustomTypeDescriptor.cs
- PeerPresenceInfo.cs
- ResourceSet.cs
- CustomActivityDesigner.cs
- RtfControlWordInfo.cs
- RbTree.cs
- IPCCacheManager.cs
- WebHttpDispatchOperationSelector.cs
- ContextDataSourceContextData.cs
- SynchronizationContextHelper.cs
- SortExpressionBuilder.cs
- FusionWrap.cs
- GeneratedView.cs
- DataRowComparer.cs
- XmlUtf8RawTextWriter.cs
- FactoryGenerator.cs
- TrackPoint.cs
- DataViewListener.cs
- EventDescriptorCollection.cs
- LogSwitch.cs
- DataGridCaption.cs
- hresults.cs
- ApplicationSecurityManager.cs
- ToolStripSettings.cs
- RelationshipFixer.cs
- ProcessHostServerConfig.cs
- CreateDataSourceDialog.cs
- XmlWriter.cs
- HttpChannelBindingToken.cs
- TcpClientChannel.cs
- FontStretch.cs
- ButtonColumn.cs
- XPathItem.cs
- CmsInterop.cs
- IssuedTokenParametersElement.cs
- EventPropertyMap.cs
- AttributedMetaModel.cs
- DropDownButton.cs
- LogAppendAsyncResult.cs
- DependencyPropertyValueSerializer.cs
- ConfigXmlCDataSection.cs
- StyleCollectionEditor.cs
- XmlSerializerAssemblyAttribute.cs
- ListItemParagraph.cs
- BasicCellRelation.cs
- RawStylusInputCustomDataList.cs
- FixedHighlight.cs
- InvalidComObjectException.cs
- ReferentialConstraint.cs
- PathGeometry.cs
- EventToken.cs
- Point3DAnimationBase.cs
- SoapAttributes.cs
- SqlRowUpdatingEvent.cs
- TableRowCollection.cs