Click here to Skip to main content
15,885,767 members
Home / Discussions / .NET (Core and Framework)
   

.NET (Core and Framework)

 
GeneralRe: For native clients to receive notifications from remoting callback interfaces... Pin
chervu8-Nov-05 6:18
chervu8-Nov-05 6:18 
GeneralRe: For native clients to receive notifications from remoting callback interfaces... Pin
S. Senthil Kumar8-Nov-05 21:45
S. Senthil Kumar8-Nov-05 21:45 
QuestionRefreshing all instances of a class on a queued message Pin
jlraffin8-Nov-05 0:43
jlraffin8-Nov-05 0:43 
AnswerRe: Refreshing all instances of a class on a queued message Pin
jlraffin8-Nov-05 4:53
jlraffin8-Nov-05 4:53 
QuestionDoesn't a Process have a user? Pin
Dave Midgley8-Nov-05 0:42
Dave Midgley8-Nov-05 0:42 
AnswerRe: Doesn't a Process have a user? Pin
S. Senthil Kumar8-Nov-05 5:12
S. Senthil Kumar8-Nov-05 5:12 
GeneralRe: Doesn't a Process have a user? Pin
Dave Midgley8-Nov-05 5:30
Dave Midgley8-Nov-05 5:30 
QuestionProblem using RSAPKCS1SignatureFormatter in Framework 1.1 Pin
dhanashekar7-Nov-05 19:44
dhanashekar7-Nov-05 19:44 
Hi,
I have to generate message digest using SHA1 algorithm to produce 160 bit number. Then message digest is encrypted with signer's private key(using RSA ECB and PKCS#1 v1.5 padding) and convert to printable hex format.

For the above specification i have tried the following code, I am getting Invalid PKCS#1 padding: no leading zero error (java.security.SignatureException, javax.crypto.BadPaddingExceptionSmile | :) on the receiver end. They are using Java interface to handle these messages.

Is there any other method to create ECB and PKCS#1 v1.5 padding using .NET ?


Imports System.Security
Imports System.Security.Cryptography
Imports Microsoft.Web.Services.Security
Imports Microsoft.Web.Services.Security.X509


Public Function fnDigitalSign1(ByVal strMessage As String) As String


Dim rsaCSP As New System.Security.Cryptography.RSACryptoServiceProvider
Dim toEncrypt() As Byte
Dim encrypted() As Byte
Dim digest() As Byte


Dim enc As New UnicodeEncoding
toEncrypt = enc.GetBytes(strMessage)

'compute hash with algorithm specified as here we have SHA1
Dim sha1Algo As New SHA1Managed
digest = sha1Algo.ComputeHash(toEncrypt)

Dim cert As X509Certificate = fnGetCertificate()
'Here i am getting correct certificate only.

If cert.SupportsDigitalSignature() Then
Dim objRSA As RSAPKCS1SignatureFormatter
objRSA = New RSAPKCS1SignatureFormatter(cert.Key)
objRSA.SetHashAlgorithm("SHA1")
encrypted = objRSA.CreateSignature(digest)
End If



Dim strHEX As String = getHEXformat(encrypted)

End Function



Private Function fnGetCertificate() As X509Certificate

Dim store As X509CertificateStore
store = X509CertificateStore.CurrentUserStore(X509CertificateStore.MyStore)
store.OpenRead()
Dim cert As X509Certificate = store.Certificates(0)
Return cert

End Function

Private Function getHEXformat(ByVal encrypted() As Byte) As String

Dim b As Byte
Dim hexString As String
For Each b In encrypted
hexString += String.Format("{0:X2}", b)
Next
Return hexString.ToLower

End Function



'And I am trying with RSACryptoService provider also


Public Function fnDigitalSign2(ByVal strMessage As String) As String

Try

Dim cert As X509Certificate = fnGetCertificate()
'Receiver's Public
Dim receiver_public As RSAParameters = cert.Key.ExportParameters(False)
Dim sender_private As RSAParameters = cert.Key.ExportParameters(True)
Dim toEncrypt() As Byte
Dim encrypted() As Byte
Dim cipher() As Byte
Dim digest() As Byte

toEncrypt = fnGetEncodedBytes(strMessage, SelectEncode.ASCII)
'compute hash with algorithm specified as here we have SHA1

digest = fnComputeSHA1Hash(toEncrypt)

Dim rsaCSP As New System.Security.Cryptography.RSACryptoServiceProvider
rsaCSP.ImportParameters(sender_private)
cipher = rsaCSP.Encrypt(digest, False) 'False to create PKCS#1 padding
Return getHEXformat(cipher)

Catch ex As Exception

End Try

End Function


dhanasekar
QuestionWPF(Avalon) Pin
1nsp1r3d7-Nov-05 6:42
1nsp1r3d7-Nov-05 6:42 
QuestionAccessing control from another file Pin
Eran6-Nov-05 22:49
Eran6-Nov-05 22:49 
QuestionVS.NET 2005 & VS.NET 2003 - can they co-exist safely? Pin
code_wiz5-Nov-05 9:59
code_wiz5-Nov-05 9:59 
AnswerRe: VS.NET 2005 & VS.NET 2003 - can they co-exist safely? Pin
Kevin McFarlane6-Nov-05 4:32
Kevin McFarlane6-Nov-05 4:32 
QuestionImplementing developers API, a question about access control... Pin
Member 965-Nov-05 5:57
Member 965-Nov-05 5:57 
QuestionTrain free @Microsoft Pin
vikas amin4-Nov-05 22:57
vikas amin4-Nov-05 22:57 
Questionhow to get the parent data Pin
sheerprogrammer4-Nov-05 20:25
sheerprogrammer4-Nov-05 20:25 
AnswerRe: how to get the parent data Pin
S. Senthil Kumar4-Nov-05 21:49
S. Senthil Kumar4-Nov-05 21:49 
GeneralRe: how to get the parent data Pin
sheerprogrammer5-Nov-05 4:29
sheerprogrammer5-Nov-05 4:29 
AnswerRe: how to get the parent data Pin
Member 965-Nov-05 6:04
Member 965-Nov-05 6:04 
GeneralRe: how to get the parent data Pin
sheerprogrammer5-Nov-05 17:47
sheerprogrammer5-Nov-05 17:47 
Question.Net 1.1 question Pin
Stanciu Vlad4-Nov-05 11:12
Stanciu Vlad4-Nov-05 11:12 
AnswerRe: .Net 1.1 question Pin
S. Senthil Kumar4-Nov-05 21:52
S. Senthil Kumar4-Nov-05 21:52 
GeneralRe: .Net 1.1 question Pin
Stanciu Vlad5-Nov-05 6:14
Stanciu Vlad5-Nov-05 6:14 
GeneralRe: .Net 1.1 question Pin
Kevin McFarlane6-Nov-05 4:35
Kevin McFarlane6-Nov-05 4:35 
QuestionSerializing BindingList Pin
Larry R. Weinheimer4-Nov-05 8:23
Larry R. Weinheimer4-Nov-05 8:23 
AnswerRe: Serializing BindingList Pin
Larry R. Weinheimer4-Nov-05 11:57
Larry R. Weinheimer4-Nov-05 11:57 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.