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
- LinkedResourceCollection.cs
- HyperLink.cs
- ResourceExpressionBuilder.cs
- Point3DValueSerializer.cs
- HttpWriter.cs
- SchemaAttDef.cs
- XPathMessageContext.cs
- SecurityAlgorithmSuite.cs
- ThumbButtonInfoCollection.cs
- ContentPlaceHolder.cs
- WebPartMovingEventArgs.cs
- WithStatement.cs
- IndexedString.cs
- DataControlButton.cs
- PanelStyle.cs
- BrowsableAttribute.cs
- DataRowExtensions.cs
- NestPullup.cs
- Console.cs
- LinqDataSourceStatusEventArgs.cs
- XmlnsPrefixAttribute.cs
- HandleCollector.cs
- DecodeHelper.cs
- XmlSerializationWriter.cs
- SerializationStore.cs
- DataRecordInternal.cs
- HierarchicalDataSourceConverter.cs
- SecurityUtils.cs
- XmlCountingReader.cs
- EqualityComparer.cs
- ClassicBorderDecorator.cs
- Pkcs7Signer.cs
- ShaperBuffers.cs
- StringStorage.cs
- XmlUtf8RawTextWriter.cs
- TypeConverterHelper.cs
- JulianCalendar.cs
- ConfigurationManager.cs
- BuildDependencySet.cs
- SHA256Managed.cs
- ColumnMapCopier.cs
- DataSysAttribute.cs
- SqlUtils.cs
- HttpListenerRequest.cs
- MailMessageEventArgs.cs
- UnknownWrapper.cs
- ClientRuntimeConfig.cs
- WebPartConnection.cs
- DurationConverter.cs
- IInstanceContextProvider.cs
- PageThemeParser.cs
- FileDetails.cs
- UpdateCompiler.cs
- HexParser.cs
- X509ChainPolicy.cs
- SyndicationLink.cs
- XmlChildNodes.cs
- DataSourceXmlAttributeAttribute.cs
- XamlRtfConverter.cs
- Volatile.cs
- XmlLanguageConverter.cs
- WorkflowOwnershipException.cs
- RequestCache.cs
- XPathSelfQuery.cs
- EncoderFallback.cs
- updatecommandorderer.cs
- IDQuery.cs
- OuterGlowBitmapEffect.cs
- UserUseLicenseDictionaryLoader.cs
- StylusLogic.cs
- ValuePattern.cs
- TagMapInfo.cs
- CodeCommentStatementCollection.cs
- FigureParaClient.cs
- SecurityUtils.cs
- rsa.cs
- DataGridColumnDropSeparator.cs
- StreamGeometry.cs
- InheritanceAttribute.cs
- AssemblyBuilderData.cs
- TraversalRequest.cs
- TextFormatter.cs
- WebServiceData.cs
- DataColumn.cs
- DataGridViewSelectedRowCollection.cs
- MonitorWrapper.cs
- ItemContainerGenerator.cs
- WindowsMenu.cs
- ImageListImage.cs
- ToolStripRenderer.cs
- ExpressionBuilder.cs
- XPathNodeInfoAtom.cs
- SecurityContextKeyIdentifierClause.cs
- OleDbPropertySetGuid.cs
- Point3D.cs
- HttpHeaderCollection.cs
- DrawingCollection.cs
- Permission.cs
- ToolStripContentPanelRenderEventArgs.cs
- ColumnMap.cs