Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / DSASignatureDeformatter.cs / 1305376 / DSASignatureDeformatter.cs
using System.Diagnostics.Contracts; // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // DSASignatureDeformatter.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class DSASignatureDeformatter : AsymmetricSignatureDeformatter { DSA _dsaKey; // DSA Key value to do decrypt operation string _oid; // // public constructors // public DSASignatureDeformatter() { // The hash algorithm is always SHA1 _oid = CryptoConfig.MapNameToOID("SHA1"); } public DSASignatureDeformatter(AsymmetricAlgorithm key) : this() { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _dsaKey = (DSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _dsaKey = (DSA) key; } public override void SetHashAlgorithm(string strName) { if (CryptoConfig.MapNameToOID(strName) != _oid) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_InvalidOperation")); } public override bool VerifySignature(byte[] rgbHash, byte[] rgbSignature) { if (rgbHash == null) throw new ArgumentNullException("rgbHash"); if (rgbSignature == null) throw new ArgumentNullException("rgbSignature"); Contract.EndContractBlock(); if (_dsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); return _dsaKey.VerifySignature(rgbHash, rgbSignature); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System.Diagnostics.Contracts; // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //[....] // // // DSASignatureDeformatter.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class DSASignatureDeformatter : AsymmetricSignatureDeformatter { DSA _dsaKey; // DSA Key value to do decrypt operation string _oid; // // public constructors // public DSASignatureDeformatter() { // The hash algorithm is always SHA1 _oid = CryptoConfig.MapNameToOID("SHA1"); } public DSASignatureDeformatter(AsymmetricAlgorithm key) : this() { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _dsaKey = (DSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _dsaKey = (DSA) key; } public override void SetHashAlgorithm(string strName) { if (CryptoConfig.MapNameToOID(strName) != _oid) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_InvalidOperation")); } public override bool VerifySignature(byte[] rgbHash, byte[] rgbSignature) { if (rgbHash == null) throw new ArgumentNullException("rgbHash"); if (rgbSignature == null) throw new ArgumentNullException("rgbSignature"); Contract.EndContractBlock(); if (_dsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); return _dsaKey.VerifySignature(rgbHash, rgbSignature); } } } // 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
- SplitContainer.cs
- StorageEndPropertyMapping.cs
- SelectionItemPattern.cs
- _ShellExpression.cs
- CatalogPartChrome.cs
- ToolboxCategoryItems.cs
- TextBoxDesigner.cs
- PropertyPathConverter.cs
- PanelStyle.cs
- PathSegment.cs
- CultureInfoConverter.cs
- LogWriteRestartAreaAsyncResult.cs
- DocumentGrid.cs
- HttpListenerPrefixCollection.cs
- GlyphsSerializer.cs
- ImageEditor.cs
- TableCell.cs
- ProfileManager.cs
- ExpandSegmentCollection.cs
- ReferentialConstraint.cs
- UserNamePasswordValidator.cs
- ContentElement.cs
- InkCollectionBehavior.cs
- ActiveXSite.cs
- AutomationPatternInfo.cs
- BindingOperations.cs
- Base64Stream.cs
- UnsafeNativeMethodsPenimc.cs
- nulltextnavigator.cs
- CustomError.cs
- SetIterators.cs
- TrackingParameters.cs
- SafeBitVector32.cs
- DataGridState.cs
- TagPrefixInfo.cs
- ChildrenQuery.cs
- GridViewRowPresenterBase.cs
- UntrustedRecipientException.cs
- NamespaceList.cs
- DiagnosticsConfiguration.cs
- RegularExpressionValidator.cs
- FileIOPermission.cs
- DataContractAttribute.cs
- SqlBuilder.cs
- RoleManagerEventArgs.cs
- Property.cs
- TypeAccessException.cs
- CustomAttributeBuilder.cs
- DataGridToolTip.cs
- BitmapFrame.cs
- MaterialCollection.cs
- DataGridViewLinkColumn.cs
- XmlSchemaRedefine.cs
- PromptBuilder.cs
- IdentitySection.cs
- DelayDesigner.cs
- TextTreeText.cs
- PerformanceCounterPermissionEntry.cs
- TableRow.cs
- JumpItem.cs
- DataControlHelper.cs
- COM2PropertyDescriptor.cs
- HandlerFactoryWrapper.cs
- DataListItem.cs
- ContractReference.cs
- PointHitTestParameters.cs
- TrackingServices.cs
- StringDictionary.cs
- QueueAccessMode.cs
- ProofTokenCryptoHandle.cs
- OutOfProcStateClientManager.cs
- ManagedIStream.cs
- RtfToken.cs
- IsolatedStorageException.cs
- ApplicationContext.cs
- QilStrConcat.cs
- AbsoluteQuery.cs
- EndpointConfigContainer.cs
- HtmlGenericControl.cs
- IItemProperties.cs
- XmlIlGenerator.cs
- PeerReferralPolicy.cs
- ThicknessConverter.cs
- RequestChannel.cs
- WithStatement.cs
- FloaterParaClient.cs
- AssociationTypeEmitter.cs
- RepeatBehaviorConverter.cs
- PropertyValueUIItem.cs
- SqlTypesSchemaImporter.cs
- Tokenizer.cs
- DeploymentSection.cs
- ContextBase.cs
- AsyncStreamReader.cs
- EntityAdapter.cs
- LogEntrySerialization.cs
- Rules.cs
- FieldValue.cs
- ByteStreamMessageEncoderFactory.cs
- CoTaskMemUnicodeSafeHandle.cs