Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------ // 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
- WsdlInspector.cs
- DbParameterCollectionHelper.cs
- ArraySet.cs
- URLString.cs
- DelegatingTypeDescriptionProvider.cs
- PropertyGeneratedEventArgs.cs
- ResXResourceReader.cs
- XAMLParseException.cs
- UIElement3D.cs
- GeometryHitTestResult.cs
- UnsafeNativeMethods.cs
- LogEntrySerializationException.cs
- ActivityBindForm.cs
- webclient.cs
- DataGridLinkButton.cs
- PresentationSource.cs
- OptionalColumn.cs
- XmlDataSourceNodeDescriptor.cs
- MaterialGroup.cs
- WebSysDescriptionAttribute.cs
- MultiByteCodec.cs
- DependencyPropertyDescriptor.cs
- TextPointerBase.cs
- VersionPair.cs
- ReadOnlyDataSourceView.cs
- DesignerForm.cs
- XsltSettings.cs
- TdsEnums.cs
- TabItemWrapperAutomationPeer.cs
- OrderedDictionary.cs
- PropertyPathWorker.cs
- XmlSchemaInclude.cs
- BindableAttribute.cs
- PenThreadPool.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- InputMethodStateChangeEventArgs.cs
- SqlXmlStorage.cs
- MetadataExchangeBindings.cs
- Int32CollectionValueSerializer.cs
- NamespaceInfo.cs
- InputLanguageEventArgs.cs
- DateTimeConverter2.cs
- TileModeValidation.cs
- XomlCompilerParameters.cs
- Vector3D.cs
- FormsAuthenticationConfiguration.cs
- TextLineBreak.cs
- TemplateKeyConverter.cs
- ParentUndoUnit.cs
- MethodBuilderInstantiation.cs
- Expander.cs
- ConstraintCollection.cs
- ViewManager.cs
- SelectionGlyph.cs
- IsolationInterop.cs
- SamlAuthorizationDecisionClaimResource.cs
- CallbackValidatorAttribute.cs
- PartialCachingAttribute.cs
- ConditionalWeakTable.cs
- SimpleExpression.cs
- DropShadowEffect.cs
- ValueProviderWrapper.cs
- ScriptManager.cs
- HttpCacheVary.cs
- ButtonField.cs
- OleDbEnumerator.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- EdmMember.cs
- LineUtil.cs
- EntryWrittenEventArgs.cs
- AdapterUtil.cs
- StreamInfo.cs
- DispatcherTimer.cs
- WorkflowPageSetupDialog.cs
- RuntimeEnvironment.cs
- ParserHooks.cs
- PointCollection.cs
- FieldTemplateUserControl.cs
- QilSortKey.cs
- WebPartZoneBaseDesigner.cs
- DataFormats.cs
- InheritanceService.cs
- _SSPISessionCache.cs
- TreeNodeConverter.cs
- DragCompletedEventArgs.cs
- TextBoxRenderer.cs
- Section.cs
- PerformanceCounterTraceRecord.cs
- DependencyPropertyDescriptor.cs
- DbProviderFactories.cs
- MenuCommand.cs
- TransformDescriptor.cs
- ExtendedPropertiesHandler.cs
- SqlDataSourceEnumerator.cs
- SQLInt32Storage.cs
- DataBoundControlAdapter.cs
- RepeaterItemCollection.cs
- Boolean.cs
- InsufficientMemoryException.cs
- RegexWorker.cs