Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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"; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // 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"; } } } // 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
- EmbossBitmapEffect.cs
- WebPartCancelEventArgs.cs
- DesignerSerializerAttribute.cs
- PipeSecurity.cs
- SignatureDescription.cs
- SchemaSetCompiler.cs
- TypedTableBase.cs
- MenuBase.cs
- HttpPostedFile.cs
- SizeLimitedCache.cs
- OleDbRowUpdatedEvent.cs
- EmbeddedMailObjectCollectionEditor.cs
- _CacheStreams.cs
- CodeVariableDeclarationStatement.cs
- DataErrorValidationRule.cs
- FusionWrap.cs
- FontStretchConverter.cs
- KoreanLunisolarCalendar.cs
- ExternalException.cs
- XmlMemberMapping.cs
- DuplicateDetector.cs
- BuilderElements.cs
- NavigateEvent.cs
- CapiHashAlgorithm.cs
- GridViewColumnHeader.cs
- TextDpi.cs
- EdmItemError.cs
- TextCompositionEventArgs.cs
- SqlConnectionPoolGroupProviderInfo.cs
- VectorAnimation.cs
- OrderPreservingMergeHelper.cs
- SpnegoTokenAuthenticator.cs
- PageThemeBuildProvider.cs
- FlowNode.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- AvTraceFormat.cs
- ArrayConverter.cs
- MasterPageCodeDomTreeGenerator.cs
- DynamicDocumentPaginator.cs
- UnicodeEncoding.cs
- VolatileEnlistmentMultiplexing.cs
- DateTimeFormatInfoScanner.cs
- Exception.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- MouseGestureValueSerializer.cs
- ScrollEvent.cs
- TaskbarItemInfo.cs
- Visitors.cs
- Subordinate.cs
- XmlQueryTypeFactory.cs
- SqlDataSourceCommandEventArgs.cs
- Point3DKeyFrameCollection.cs
- BufferedStream2.cs
- RelationshipManager.cs
- XmlSerializerSection.cs
- RequestCache.cs
- MsmqMessageSerializationFormat.cs
- Util.cs
- OdbcException.cs
- WebServiceParameterData.cs
- WinCategoryAttribute.cs
- WebPartEditorCancelVerb.cs
- OrderingExpression.cs
- Unit.cs
- UnsafeNativeMethods.cs
- TargetInvocationException.cs
- WebBrowserHelper.cs
- ButtonFieldBase.cs
- ViewCellSlot.cs
- VirtualPathUtility.cs
- TabletDevice.cs
- EnumerationRangeValidationUtil.cs
- SqlMultiplexer.cs
- RoutedEventValueSerializer.cs
- FragmentQueryKB.cs
- ManipulationInertiaStartingEventArgs.cs
- SqlReorderer.cs
- TypeDescriptionProvider.cs
- namescope.cs
- DataObjectMethodAttribute.cs
- FontResourceCache.cs
- RedBlackList.cs
- TemplateNameScope.cs
- LicenseManager.cs
- PhysicalAddress.cs
- MimeMultiPart.cs
- DebugView.cs
- autovalidator.cs
- PropertyGroupDescription.cs
- DataServiceEntityAttribute.cs
- DetailsView.cs
- PageThemeParser.cs
- DataGridViewComboBoxColumnDesigner.cs
- UpdateManifestForBrowserApplication.cs
- OracleParameter.cs
- TextTreeTextNode.cs
- SqlClientPermission.cs
- SafePipeHandle.cs
- HybridObjectCache.cs
- ChoiceConverter.cs