Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / Cryptography / SignatureDescription.cs / 1 / SignatureDescription.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // SignatureDescription.cs // namespace System.Security.Cryptography { using System.Security.Util; [System.Runtime.InteropServices.ComVisible(true)] public class SignatureDescription { private String _strKey; private String _strDigest; private String _strFormatter; private String _strDeformatter; // // public constructors // public SignatureDescription() { } public SignatureDescription(SecurityElement el) { if (el == null) throw new ArgumentNullException("el"); _strKey = el.SearchForTextOfTag("Key"); _strDigest = el.SearchForTextOfTag("Digest"); _strFormatter = el.SearchForTextOfTag("Formatter"); _strDeformatter = el.SearchForTextOfTag("Deformatter"); } // // property methods // public String KeyAlgorithm { get { return _strKey; } set { _strKey = value; } } public String DigestAlgorithm { get { return _strDigest; } set { _strDigest = value; } } public String FormatterAlgorithm { get { return _strFormatter; } set { _strFormatter = value; } } public String DeformatterAlgorithm { get {return _strDeformatter; } set {_strDeformatter = value; } } // // public methods // public virtual AsymmetricSignatureDeformatter CreateDeformatter(AsymmetricAlgorithm key) { AsymmetricSignatureDeformatter item; item = (AsymmetricSignatureDeformatter) CryptoConfig.CreateFromName(_strDeformatter); item.SetKey(key); return item; } public virtual AsymmetricSignatureFormatter CreateFormatter(AsymmetricAlgorithm key) { AsymmetricSignatureFormatter item; item = (AsymmetricSignatureFormatter) CryptoConfig.CreateFromName(_strFormatter); item.SetKey(key); return item; } public virtual HashAlgorithm CreateDigest() { return (HashAlgorithm) CryptoConfig.CreateFromName(_strDigest); } } internal class RSAPKCS1SHA1SignatureDescription : SignatureDescription { public RSAPKCS1SHA1SignatureDescription() { KeyAlgorithm = "System.Security.Cryptography.RSACryptoServiceProvider"; DigestAlgorithm = "System.Security.Cryptography.SHA1CryptoServiceProvider"; FormatterAlgorithm = "System.Security.Cryptography.RSAPKCS1SignatureFormatter"; DeformatterAlgorithm = "System.Security.Cryptography.RSAPKCS1SignatureDeformatter"; } public override AsymmetricSignatureDeformatter CreateDeformatter(AsymmetricAlgorithm key) { AsymmetricSignatureDeformatter item = (AsymmetricSignatureDeformatter) CryptoConfig.CreateFromName(DeformatterAlgorithm); item.SetKey(key); item.SetHashAlgorithm("SHA1"); return item; } } internal class DSASignatureDescription : SignatureDescription { public DSASignatureDescription() { KeyAlgorithm = "System.Security.Cryptography.DSACryptoServiceProvider"; DigestAlgorithm = "System.Security.Cryptography.SHA1CryptoServiceProvider"; FormatterAlgorithm = "System.Security.Cryptography.DSASignatureFormatter"; DeformatterAlgorithm = "System.Security.Cryptography.DSASignatureDeformatter"; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextPenaltyModule.cs
- LinqDataSourceContextEventArgs.cs
- Utility.cs
- ClientTarget.cs
- PlacementWorkspace.cs
- TransportChannelListener.cs
- GridViewSortEventArgs.cs
- XamlFrame.cs
- IPAddressCollection.cs
- TokenCreationParameter.cs
- CodeObjectCreateExpression.cs
- EpmHelper.cs
- List.cs
- DBParameter.cs
- LogReserveAndAppendState.cs
- DynamicQueryableWrapper.cs
- Argument.cs
- GridViewColumnHeaderAutomationPeer.cs
- HttpFileCollection.cs
- SHA512.cs
- AspNetHostingPermission.cs
- EntityContainerEmitter.cs
- TableAdapterManagerHelper.cs
- FormCollection.cs
- UrlMappingsModule.cs
- ScriptResourceHandler.cs
- PrePrepareMethodAttribute.cs
- InternalConfigSettingsFactory.cs
- TypedTableHandler.cs
- EncoderExceptionFallback.cs
- Normalization.cs
- ProgressChangedEventArgs.cs
- HostingEnvironmentSection.cs
- LayoutTableCell.cs
- TextSearch.cs
- ServiceReference.cs
- CompilationUnit.cs
- PropertyChangeTracker.cs
- _CacheStreams.cs
- WindowsBrush.cs
- FontFamily.cs
- ECDiffieHellmanCng.cs
- CountAggregationOperator.cs
- ClipboardData.cs
- SingleStorage.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- CorrelationManager.cs
- CrossAppDomainChannel.cs
- SubqueryTrackingVisitor.cs
- PageAsyncTask.cs
- IndependentAnimationStorage.cs
- DataServiceExpressionVisitor.cs
- TextFragmentEngine.cs
- NativeMethods.cs
- QueryCacheEntry.cs
- DBPropSet.cs
- HttpException.cs
- DesignOnlyAttribute.cs
- SafeFreeMibTable.cs
- ProvidePropertyAttribute.cs
- TemplatePropertyEntry.cs
- ItemAutomationPeer.cs
- ConnectionsZoneAutoFormat.cs
- StylusButton.cs
- XmlAttributeCollection.cs
- PermissionSetTriple.cs
- StoreAnnotationsMap.cs
- HyperLinkColumn.cs
- ClientSettingsProvider.cs
- FontStretches.cs
- RuntimeConfig.cs
- WebEvents.cs
- Assert.cs
- HwndTarget.cs
- StateMachineAction.cs
- PageClientProxyGenerator.cs
- WpfSharedXamlSchemaContext.cs
- SignatureToken.cs
- PairComparer.cs
- SourceFilter.cs
- MemberHolder.cs
- _ProxyRegBlob.cs
- XmlSchemaImport.cs
- PasswordTextNavigator.cs
- LinqDataSourceInsertEventArgs.cs
- ChildChangedEventArgs.cs
- ExeConfigurationFileMap.cs
- SafeFileMappingHandle.cs
- RecommendedAsConfigurableAttribute.cs
- CommonDialog.cs
- WindowsStatic.cs
- TraceContextEventArgs.cs
- ActivityExecutor.cs
- XmlNodeChangedEventArgs.cs
- ProviderIncompatibleException.cs
- ApplicationManager.cs
- SizeConverter.cs
- MimeWriter.cs
- SqlMethodTransformer.cs
- DateTimeValueSerializerContext.cs