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
- TcpProcessProtocolHandler.cs
- InstanceData.cs
- ipaddressinformationcollection.cs
- DataContext.cs
- SessionPageStatePersister.cs
- TextRangeEdit.cs
- EncodingTable.cs
- ImageSourceConverter.cs
- DesignerView.xaml.cs
- XpsResourceDictionary.cs
- PerformanceCounter.cs
- RefType.cs
- PersonalizationDictionary.cs
- SymbolPair.cs
- FrameworkContentElementAutomationPeer.cs
- RangeEnumerable.cs
- HttpServerUtilityBase.cs
- ConfigurationElementProperty.cs
- DbgCompiler.cs
- DragCompletedEventArgs.cs
- ScriptReferenceEventArgs.cs
- SocketPermission.cs
- PrimitiveXmlSerializers.cs
- ConsoleEntryPoint.cs
- FacetChecker.cs
- DataObjectSettingDataEventArgs.cs
- PropertyGrid.cs
- DataSourceCache.cs
- Rotation3DAnimationBase.cs
- Button.cs
- SessionParameter.cs
- Polygon.cs
- CommandHelper.cs
- WebPartPersonalization.cs
- StreamReader.cs
- SoapAttributeAttribute.cs
- BaseWebProxyFinder.cs
- IItemContainerGenerator.cs
- Missing.cs
- FamilyMap.cs
- LineMetrics.cs
- DataGridItemCollection.cs
- URIFormatException.cs
- EtwTrace.cs
- PartialCachingAttribute.cs
- KoreanLunisolarCalendar.cs
- HttpListenerResponse.cs
- XmlEntity.cs
- BaseValidatorDesigner.cs
- TemplateControlCodeDomTreeGenerator.cs
- AsyncInvokeContext.cs
- TCPListener.cs
- MappingModelBuildProvider.cs
- ExpressionBinding.cs
- UnicodeEncoding.cs
- remotingproxy.cs
- mongolianshape.cs
- EventItfInfo.cs
- Triplet.cs
- ISFTagAndGuidCache.cs
- DefaultAuthorizationContext.cs
- MsmqInputChannelListenerBase.cs
- ObservableDictionary.cs
- RoutedCommand.cs
- CornerRadius.cs
- CancellationHandler.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- TableRow.cs
- SqlStream.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- HtmlInputImage.cs
- TextServicesCompartmentEventSink.cs
- Hyperlink.cs
- Operand.cs
- LiteralControl.cs
- ExpandSegment.cs
- WebPartManagerInternals.cs
- ConnectionPoolManager.cs
- JumpPath.cs
- ThreadAbortException.cs
- ActivityInstance.cs
- BitmapCodecInfo.cs
- TableRowCollection.cs
- SecurityContextTokenCache.cs
- MediaContext.cs
- XsltSettings.cs
- DictionaryEntry.cs
- XmlSchemaAppInfo.cs
- base64Transforms.cs
- IdleTimeoutMonitor.cs
- LambdaCompiler.Unary.cs
- _ServiceNameStore.cs
- CheckBoxList.cs
- PhoneCallDesigner.cs
- BindingList.cs
- DoubleAnimationClockResource.cs
- UnsafeNativeMethods.cs
- ParseHttpDate.cs
- StylusDevice.cs
- XmlSchemaObject.cs