Code:
/ DotNET / DotNET / 8.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
- ProxyDataContractResolver.cs
- WebPartVerb.cs
- DifferencingCollection.cs
- PolyQuadraticBezierSegment.cs
- DatagridviewDisplayedBandsData.cs
- Rules.cs
- PictureBox.cs
- PtsHelper.cs
- StringUtil.cs
- TopClause.cs
- Quaternion.cs
- SafeReadContext.cs
- ColumnResizeAdorner.cs
- UnionCqlBlock.cs
- VerificationException.cs
- DataGridViewColumnEventArgs.cs
- ListViewGroupCollectionEditor.cs
- ReadOnlyCollection.cs
- BStrWrapper.cs
- FocusChangedEventArgs.cs
- Message.cs
- XmlReaderSettings.cs
- ToolboxService.cs
- XmlSchemaAppInfo.cs
- IconHelper.cs
- WindowsEditBoxRange.cs
- DataGridViewControlCollection.cs
- Lease.cs
- SBCSCodePageEncoding.cs
- EntityDataSourceDataSelection.cs
- ToolboxComponentsCreatingEventArgs.cs
- LocatorPart.cs
- BindingSourceDesigner.cs
- RetrieveVirtualItemEventArgs.cs
- querybuilder.cs
- NumberFormatInfo.cs
- DataBindingHandlerAttribute.cs
- SaveFileDialog.cs
- TextAdaptor.cs
- StatusBarItem.cs
- ClientSponsor.cs
- TransformerInfoCollection.cs
- AsyncOperationManager.cs
- TableLayoutColumnStyleCollection.cs
- HashCodeCombiner.cs
- TemplateDefinition.cs
- PanelDesigner.cs
- TagNameToTypeMapper.cs
- TransformCryptoHandle.cs
- XamlClipboardData.cs
- PrintController.cs
- RadioButtonBaseAdapter.cs
- AuthStoreRoleProvider.cs
- DocobjHost.cs
- TraceContext.cs
- ProcessManager.cs
- ServiceBuildProvider.cs
- CustomAttributeFormatException.cs
- SafeFileMappingHandle.cs
- CodeBinaryOperatorExpression.cs
- PaintEvent.cs
- SqlStatistics.cs
- StoreContentChangedEventArgs.cs
- StickyNoteHelper.cs
- PartialArray.cs
- URI.cs
- GenericWebPart.cs
- NetCodeGroup.cs
- SafeHandles.cs
- XmlnsCache.cs
- Nullable.cs
- DotAtomReader.cs
- ItemList.cs
- InvalidCastException.cs
- Debug.cs
- SecureEnvironment.cs
- ReferenceAssemblyAttribute.cs
- Transform3DGroup.cs
- MetadataUtil.cs
- IntSecurity.cs
- DesignRelation.cs
- Decoder.cs
- BaseProcessor.cs
- CodeDomDesignerLoader.cs
- LogEntrySerialization.cs
- DataTableNewRowEvent.cs
- loginstatus.cs
- PageAdapter.cs
- DesignerTextBoxAdapter.cs
- InputLanguageProfileNotifySink.cs
- FormatVersion.cs
- AtlasWeb.Designer.cs
- UInt32Converter.cs
- Drawing.cs
- StatusCommandUI.cs
- BitmapEffectCollection.cs
- Drawing.cs
- KeyFrames.cs
- SettingsBindableAttribute.cs
- SelectionEditingBehavior.cs