I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
Something like the following should work:
$set ilusing"System.Xml"
$set ilusing"System.Security.Cryptography"
$set ilusing"System.Security.Cryptography.Xml"
class-id vbdecrypt.Class1.
working-storage section.
method-id Decrypt.
local-storage section.
procedure division using by value Doc as type XmlDocument
by value Alg as type RSA
by value KeyName as string.
*> Check the arguments.
If KeyName = ""
Raise New ArgumentNullException("KeyName")
End-If
*> Create a new EncryptedXml object.
declare exml as type EncryptedXml = new EncryptedXml(Doc)
*> Add a key-name mapping.
*> This method can only decrypt documents
*> that present the specified key name.
invoke exml::AddKeyNameMapping(KeyName, Alg)
*> Decrypt the element.
invoke exml::DecryptDocument
goback.
end method.
end class.
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
Hi Altair, should be something like:
class-id a.
method-id Decrypt public.
local-storage section.
01 exml type EncryptedXml.
procedure division using by value Doc as type XmlDocument by value Alg As type RSA by value KeyName As string.
if KeyName = null
raise new ArgumentNullException("KeyName")
end-if
set exml to New EncryptedXml(Doc)
invoke exml::AddKeyNameMapping(KeyName, Alg)
invoke exml::DecryptDocument()
goback.
end method.
end class.
I'm not sure where the EncryptedXml class is so cannot confirm 100% that this is correct.
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
Hi, Robert and Chris
The VC isn´t EncryptedXml instantiating the class.
Being that it is part of namespaces: System.Security.Cryptography.Xml
01 exml type EncryptedXml. (Err)
In vb.net (on the same machine) this class is normally instantiated.
How to solve this error?
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
You will have to add the assembly System.Security to the project-->References.
My example should work as is because I have added the ilusing directives to the top which bring in the required namespaces.
$set ilusing"System.Xml"
$set ilusing"System.Security.Cryptography"
$set ilusing"System.Security.Cryptography.Xml"
In Robert's example you would have to add these.
My example uses a declare statement to define the exml data-item and Robert's defines this in local-storage.
Either method should work for you.
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
Hi Chris,
Thanks for the feedback.
I tested the two examples and both do not instantiate the class.
I had already added the ilusing directives to the top and referenced the nomespaces . Even so, do not instantiate the class. Attached the source code.
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
Hi Chris,
Thanks for the feedback.
I tested the two examples and both do not instantiate the class.
I had already added the ilusing directives to the top and referenced the nomespaces . Even so, do not instantiate the class. Attached the source code.
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
Hi Chris,
Thanks for the feedback.
I tested the two examples and both do not instantiate the class.
I had already added the ilusing directives to the top and referenced the nomespaces . Even so, do not instantiate the class. Attached the source code.
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
It worked. Thank you very much.
I have this code working in VB.NET and I am migrating to VC2010. NET. Unfortunately I'm having trouble with this function. How would this code?
Sub Decrypt(ByVal Doc As XmlDocument, ByVal Alg As RSA, ByVal KeyName As String)
' Check the arguments.
If KeyName Is Nothing Then
Throw New ArgumentNullException("KeyName")
End If
' Create a new EncryptedXml object.
Dim exml As New EncryptedXml(Doc)
' Add a key-name mapping.
' This method can only decrypt documents
' that present the specified key name.
exml.AddKeyNameMapping(KeyName, Alg)
' Decrypt the element.
exml.DecryptDocument()
End Sub
VC2010 .NET
method-id Decrypt public.
local-storage section.
01 exml type System.Xml.XmlDocument.
procedure division using by value cDoc as type XmlDocument by value cAlg As type RSA by value cKeyName As type String.
* Dim exml As New EncryptedXml(Doc) - vb.net
set exml to new XmlDocument()
set exml to cDoc
* exml.AddKeyNameMapping(KeyName, Alg) - vb.net
* exml.DecryptDocument() - vb.net
goback.
end method.
It worked. Thank you very much.