Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / RsaKeyIdentifierClause.cs / 1 / RsaKeyIdentifierClause.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; using System.Security.Cryptography; using System.Xml; public class RsaKeyIdentifierClause : SecurityKeyIdentifierClause { static string clauseType = XmlSignatureStrings.Namespace + XmlSignatureStrings.RsaKeyValue; readonly RSA rsa; readonly RSAParameters rsaParameters; RsaSecurityKey rsaSecurityKey; public RsaKeyIdentifierClause(RSA rsa) : base(clauseType) { if (rsa == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("rsa"); this.rsa = rsa; this.rsaParameters = rsa.ExportParameters(false); } public override bool CanCreateKey { get { return true; } } public RSA Rsa { get { return this.rsa; } } public override SecurityKey CreateKey() { if (this.rsaSecurityKey == null) { this.rsaSecurityKey = new RsaSecurityKey(this.rsa); } return this.rsaSecurityKey; } public byte[] GetExponent() { return SecurityUtils.CloneBuffer(this.rsaParameters.Exponent); } public byte[] GetModulus() { return SecurityUtils.CloneBuffer(this.rsaParameters.Modulus); } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { RsaKeyIdentifierClause that = keyIdentifierClause as RsaKeyIdentifierClause; // PreSharp Bug: Parameter 'that' to this public method must be validated: A null-dereference can occur here. #pragma warning suppress 56506 return ReferenceEquals(this, that) || (that != null && that.Matches(this.rsa)); } public bool Matches(RSA rsa) { if (rsa == null) return false; RSAParameters rsaParameters = rsa.ExportParameters(false); return SecurityUtils.MatchesBuffer(this.rsaParameters.Modulus, rsaParameters.Modulus) && SecurityUtils.MatchesBuffer(this.rsaParameters.Exponent, rsaParameters.Exponent); } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "RsaKeyIdentifierClause(Modulus = {0}, Exponent = {1})", Convert.ToBase64String(this.rsaParameters.Modulus), Convert.ToBase64String(this.rsaParameters.Exponent)); } public void WriteExponentAsBase64(XmlWriter writer) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } writer.WriteBase64(this.rsaParameters.Exponent, 0, this.rsaParameters.Exponent.Length); } public void WriteModulusAsBase64(XmlWriter writer) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } writer.WriteBase64(this.rsaParameters.Modulus, 0, this.rsaParameters.Modulus.Length); } } } // 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
- ScrollProviderWrapper.cs
- DataListGeneralPage.cs
- LinqDataSourceSelectEventArgs.cs
- AppSettingsSection.cs
- AutomationEventArgs.cs
- SqlFactory.cs
- CheckBox.cs
- DetailsViewRow.cs
- ExtensionWindowResizeGrip.cs
- TaiwanLunisolarCalendar.cs
- DesignBindingPropertyDescriptor.cs
- PrimitiveSchema.cs
- TextAction.cs
- SqlDataSourceStatusEventArgs.cs
- OdbcParameterCollection.cs
- EmbossBitmapEffect.cs
- SecurityTokenValidationException.cs
- ScriptControlManager.cs
- SID.cs
- XmlCollation.cs
- ScriptManager.cs
- CriticalExceptions.cs
- PerformanceCounterPermission.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- PersonalizationAdministration.cs
- ChannelManager.cs
- SqlMethodAttribute.cs
- TransactionManager.cs
- DrawingState.cs
- EncoderNLS.cs
- CircleHotSpot.cs
- ComponentConverter.cs
- SortedList.cs
- Registry.cs
- ToolStripOverflow.cs
- SecurityPolicySection.cs
- DesignerLoader.cs
- TimerExtension.cs
- DataGridViewDesigner.cs
- CategoryAttribute.cs
- LineServicesCallbacks.cs
- InheritablePropertyChangeInfo.cs
- DataColumnMappingCollection.cs
- ExpressionPrefixAttribute.cs
- GeneralTransform3DTo2DTo3D.cs
- SqlStatistics.cs
- DependentTransaction.cs
- Scene3D.cs
- SwitchAttribute.cs
- SchemaImporterExtensionElementCollection.cs
- WebPartTransformerCollection.cs
- FileDialogPermission.cs
- WebPartAddingEventArgs.cs
- QueryContinueDragEvent.cs
- DataBindingExpressionBuilder.cs
- Trace.cs
- FormViewPageEventArgs.cs
- Event.cs
- SmiEventStream.cs
- SystemWebExtensionsSectionGroup.cs
- AuthorizationRule.cs
- TextEditorCharacters.cs
- StaticExtension.cs
- HotSpot.cs
- XmlSerializationGeneratedCode.cs
- SendMessageRecord.cs
- SqlDataSourceCache.cs
- WorkflowPersistenceContext.cs
- returneventsaver.cs
- DataGridViewColumnHeaderCell.cs
- OleDbConnectionInternal.cs
- LateBoundChannelParameterCollection.cs
- XmlChoiceIdentifierAttribute.cs
- DetailsViewUpdatedEventArgs.cs
- LambdaCompiler.Statements.cs
- CompoundFileDeflateTransform.cs
- ExecutionEngineException.cs
- CachedPathData.cs
- FileDialog.cs
- TextEmbeddedObject.cs
- XmlDataSource.cs
- SecurityContext.cs
- RawStylusInput.cs
- TransactedReceiveData.cs
- InvalidTimeZoneException.cs
- xsdvalidator.cs
- CmsInterop.cs
- OracleEncoding.cs
- GridViewAutoFormat.cs
- DbProviderServices.cs
- ConfigXmlComment.cs
- WebPartCollection.cs
- Trace.cs
- GuidConverter.cs
- ContractInferenceHelper.cs
- ColumnHeader.cs
- ICspAsymmetricAlgorithm.cs
- DefinitionUpdate.cs
- MbpInfo.cs
- ConfigurationStrings.cs