Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CannotUnloadAppDomainException.cs
- StaticResourceExtension.cs
- WebBrowserNavigatingEventHandler.cs
- ConfigurationValue.cs
- _OSSOCK.cs
- MediaContextNotificationWindow.cs
- Separator.cs
- SimpleModelProvider.cs
- ColorConvertedBitmap.cs
- MatrixTransform3D.cs
- Rfc4050KeyFormatter.cs
- EditorBrowsableAttribute.cs
- MessageRpc.cs
- ChineseLunisolarCalendar.cs
- DataGridViewDataConnection.cs
- IisTraceWebEventProvider.cs
- backend.cs
- SerialPinChanges.cs
- MemoryPressure.cs
- SlipBehavior.cs
- GridToolTip.cs
- InvocationExpression.cs
- QueryExpression.cs
- ServiceManagerHandle.cs
- UnsupportedPolicyOptionsException.cs
- EqualityComparer.cs
- InvalidComObjectException.cs
- XmlSchemaAnyAttribute.cs
- HwndSourceKeyboardInputSite.cs
- IDictionary.cs
- StructuredTypeInfo.cs
- CryptoStream.cs
- Material.cs
- ReadOnlyCollectionBase.cs
- WorkflowTransactionService.cs
- DynamicDataResources.Designer.cs
- FatalException.cs
- SocketManager.cs
- FlowLayoutSettings.cs
- HttpNamespaceReservationInstallComponent.cs
- MaskedTextBoxTextEditorDropDown.cs
- Misc.cs
- ArrayHelper.cs
- PathStreamGeometryContext.cs
- WebPartTransformerAttribute.cs
- CorrelationManager.cs
- ClientConvert.cs
- ContainerSelectorActiveEvent.cs
- SystemException.cs
- BooleanKeyFrameCollection.cs
- NavigationPropertyAccessor.cs
- XmlSchemaAttributeGroupRef.cs
- RTLAwareMessageBox.cs
- IdleTimeoutMonitor.cs
- UnionCodeGroup.cs
- QilTargetType.cs
- FastPropertyAccessor.cs
- objectresult_tresulttype.cs
- XmlChildNodes.cs
- FormattedText.cs
- ListView.cs
- CodePageEncoding.cs
- control.ime.cs
- ClientSettingsStore.cs
- Cursors.cs
- MessageDirection.cs
- InstanceStoreQueryResult.cs
- TablePattern.cs
- MailBnfHelper.cs
- ApplicationHost.cs
- PropertyIDSet.cs
- Propagator.cs
- SiteMapNodeItemEventArgs.cs
- OptimizedTemplateContent.cs
- BinaryWriter.cs
- QueryCacheManager.cs
- Synchronization.cs
- HttpCapabilitiesSectionHandler.cs
- PluggableProtocol.cs
- PropertyConverter.cs
- NumericExpr.cs
- DocComment.cs
- OperationAbortedException.cs
- Visual3D.cs
- SQLBytes.cs
- FixedSchema.cs
- Types.cs
- DriveInfo.cs
- ResourceAttributes.cs
- GatewayDefinition.cs
- DataRelationPropertyDescriptor.cs
- Hash.cs
- AuthenticationService.cs
- ConnectionStringsSection.cs
- GridEntryCollection.cs
- ListViewInsertionMark.cs
- SmtpCommands.cs
- FileDataSourceCache.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- SchemaInfo.cs