Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1SignatureFormatter.cs / 1 / RSAPKCS1SignatureFormatter.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RSAPKCS1SignatureFormatter.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class RSAPKCS1SignatureFormatter : AsymmetricSignatureFormatter { private RSA _rsaKey; private String _strOID; // // public constructors // public RSAPKCS1SignatureFormatter() {} public RSAPKCS1SignatureFormatter(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } public override byte[] CreateSignature(byte[] rgbHash) { if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); if (rgbHash == null) throw new ArgumentNullException("rgbHash"); // Two cases here -- if we are talking to the CSP version or if we are talking to some other RSA provider. if (_rsaKey is RSACryptoServiceProvider) { return ((RSACryptoServiceProvider) _rsaKey).SignHash(rgbHash, _strOID); } else { byte[] pad = Utils.RsaPkcs1Padding(_rsaKey, CryptoConfig.EncodeOID(_strOID), rgbHash); // Create the signature by applying the private key to the padded buffer we just created. return _rsaKey.DecryptValue(pad); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RSAPKCS1SignatureFormatter.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class RSAPKCS1SignatureFormatter : AsymmetricSignatureFormatter { private RSA _rsaKey; private String _strOID; // // public constructors // public RSAPKCS1SignatureFormatter() {} public RSAPKCS1SignatureFormatter(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } public override byte[] CreateSignature(byte[] rgbHash) { if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); if (rgbHash == null) throw new ArgumentNullException("rgbHash"); // Two cases here -- if we are talking to the CSP version or if we are talking to some other RSA provider. if (_rsaKey is RSACryptoServiceProvider) { return ((RSACryptoServiceProvider) _rsaKey).SignHash(rgbHash, _strOID); } else { byte[] pad = Utils.RsaPkcs1Padding(_rsaKey, CryptoConfig.EncodeOID(_strOID), rgbHash); // Create the signature by applying the private key to the padded buffer we just created. return _rsaKey.DecryptValue(pad); } } } } // 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
- Int16AnimationUsingKeyFrames.cs
- DataGridColumn.cs
- XmlAttribute.cs
- ResourceExpressionEditorSheet.cs
- DefaultCommandConverter.cs
- CodeAttributeDeclaration.cs
- TraversalRequest.cs
- XmlSchemaCompilationSettings.cs
- NumericUpDownAcceleration.cs
- XmlNavigatorStack.cs
- ChtmlTextBoxAdapter.cs
- wgx_exports.cs
- EditingMode.cs
- ItemCollection.cs
- Environment.cs
- TextEncodedRawTextWriter.cs
- RectangleConverter.cs
- HtmlInputPassword.cs
- DataSourceHelper.cs
- XXXInfos.cs
- _OSSOCK.cs
- ModelMemberCollection.cs
- BulletedListEventArgs.cs
- Pkcs7Recipient.cs
- XmlTypeMapping.cs
- ParenExpr.cs
- XmlWrappingReader.cs
- Span.cs
- activationcontext.cs
- XsltLoader.cs
- JavaScriptObjectDeserializer.cs
- SchemaImporter.cs
- ContentDesigner.cs
- AuthenticationModuleElement.cs
- RTTrackingProfile.cs
- DbExpressionBuilder.cs
- DataGrid.cs
- TextRange.cs
- SqlSelectStatement.cs
- TreeWalker.cs
- DBConnectionString.cs
- BigInt.cs
- ListViewGroup.cs
- CollectionViewGroup.cs
- ResourceCodeDomSerializer.cs
- QueryUtil.cs
- ProcessHostFactoryHelper.cs
- SmtpAuthenticationManager.cs
- CompiledQueryCacheKey.cs
- AppDomainFactory.cs
- XmlDataContract.cs
- LayoutTableCell.cs
- designeractionbehavior.cs
- DataRecordInternal.cs
- PrivilegeNotHeldException.cs
- XmlAttributeCache.cs
- PersonalizationStateQuery.cs
- HttpNamespaceReservationInstallComponent.cs
- XmlIgnoreAttribute.cs
- SecurityHelper.cs
- LogicalTreeHelper.cs
- UpdateTranslator.cs
- SrgsRuleRef.cs
- LineBreak.cs
- PathTooLongException.cs
- ProcessThreadCollection.cs
- ResourceExpressionEditorSheet.cs
- ActivationArguments.cs
- TypeElement.cs
- ListBoxAutomationPeer.cs
- BinaryObjectWriter.cs
- DragSelectionMessageFilter.cs
- TemporaryBitmapFile.cs
- CodeNamespaceImportCollection.cs
- ScrollPatternIdentifiers.cs
- CroppedBitmap.cs
- QueueException.cs
- CodeMemberField.cs
- DataShape.cs
- SQLBinaryStorage.cs
- PolyQuadraticBezierSegment.cs
- formatter.cs
- _StreamFramer.cs
- AccessDataSource.cs
- Header.cs
- DeferredReference.cs
- NotFiniteNumberException.cs
- RequestNavigateEventArgs.cs
- LayoutEvent.cs
- StylusEditingBehavior.cs
- CFStream.cs
- RadioButtonPopupAdapter.cs
- CriticalFinalizerObject.cs
- InvokePatternIdentifiers.cs
- TraceFilter.cs
- UrlMapping.cs
- GeometryModel3D.cs
- SourceLineInfo.cs
- SingleConverter.cs
- _NTAuthentication.cs