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
- SessionIDManager.cs
- XmlNodeChangedEventArgs.cs
- PersonalizationProviderCollection.cs
- ConnectionConsumerAttribute.cs
- OdbcFactory.cs
- TypeCacheManager.cs
- Function.cs
- PassportAuthentication.cs
- AccessibleObject.cs
- DesignerDataSchemaClass.cs
- ParserContext.cs
- FileBasedResourceGroveler.cs
- MethodExpression.cs
- SqlGenerator.cs
- XmlAtomicValue.cs
- ClickablePoint.cs
- WebSysDefaultValueAttribute.cs
- ProcessModuleCollection.cs
- XmlDigitalSignatureProcessor.cs
- PrimaryKeyTypeConverter.cs
- FastPropertyAccessor.cs
- WebPartHelpVerb.cs
- PartialToken.cs
- DependencyPropertyKey.cs
- MouseEvent.cs
- InternalMappingException.cs
- SoapElementAttribute.cs
- MetricEntry.cs
- ItemContainerProviderWrapper.cs
- FamilyTypefaceCollection.cs
- SchemaImporterExtensionsSection.cs
- DoubleAnimationUsingKeyFrames.cs
- MemberAccessException.cs
- PersonalizationProviderHelper.cs
- DelegateBodyWriter.cs
- RijndaelManagedTransform.cs
- CustomAttributeBuilder.cs
- FloatUtil.cs
- DesignConnectionCollection.cs
- CompModSwitches.cs
- UserMapPath.cs
- ChangeBlockUndoRecord.cs
- BindingExpressionUncommonField.cs
- SelectionEditingBehavior.cs
- HTTPNotFoundHandler.cs
- SafeLocalMemHandle.cs
- HighlightComponent.cs
- DataGridViewToolTip.cs
- Latin1Encoding.cs
- DocumentOrderComparer.cs
- DataTable.cs
- SqlNodeAnnotations.cs
- HyperLinkField.cs
- InstalledFontCollection.cs
- ImageMap.cs
- Vector3DIndependentAnimationStorage.cs
- BinHexEncoder.cs
- RenderData.cs
- PageStatePersister.cs
- ScrollItemPattern.cs
- IsolationInterop.cs
- DataTableReaderListener.cs
- Int32RectValueSerializer.cs
- HandlerFactoryWrapper.cs
- StructuralObject.cs
- Repeater.cs
- rsa.cs
- ScriptResourceInfo.cs
- WebEventTraceProvider.cs
- VisualProxy.cs
- ConfigurationManagerHelper.cs
- LambdaExpression.cs
- TimeSpanConverter.cs
- WebPartCollection.cs
- CodeEntryPointMethod.cs
- Serializer.cs
- TextRangeBase.cs
- ReaderWriterLock.cs
- SplitterPanel.cs
- COM2PictureConverter.cs
- IDQuery.cs
- Deserializer.cs
- MetabaseServerConfig.cs
- FocusTracker.cs
- PinnedBufferMemoryStream.cs
- ValidationHelper.cs
- BitmapVisualManager.cs
- NullRuntimeConfig.cs
- SrgsElement.cs
- DefaultProxySection.cs
- MessageQuerySet.cs
- SspiSecurityTokenParameters.cs
- FixUp.cs
- XmlNodeReader.cs
- ToolboxComponentsCreatedEventArgs.cs
- SafeIUnknown.cs
- NavigationPropertyEmitter.cs
- InputGestureCollection.cs
- GeneralTransformGroup.cs
- assemblycache.cs