Home
IPhone SMS To Gmail
Consulting
Blog
Software
Projects
Links
About
Contact
Blog
Facebook
Twitter
LinkedIn
|
<< Back To All Blogs
Reading Digital Signatures from InfoPath Forms in MOSS 2007 and WSS 3.0 Workflow
Monday, June 1st, 2009
InfoPath forms with SharePoint workflow is a very powerful combination, especially when you use Digital Signatures to verify the user that is completing the form. Most workflow forms will go through more then one person, and therefore you need to be able to check when the actual form is signed by specific entities in order to continue with your workflow.
I have created a LINQ method of reading these InfoPath files for signature information during a workflow. Please note that this also requires that you have .NET 3.5 enabled on your SharePoint server.
Without further ado, here it is:
List signatures = new List();
SPListItem item = workflowProperties.Item;
using (MemoryStream ms = new MemoryStream(item.File.OpenBinary()))
{
System.Xml.XmlReader reader = System.Xml.XmlReader.Create(ms);
XDocument xDoc = XDocument.Load(reader);
XNamespace nsSig = "http://www.w3.org/2000/09/xmldsig#";
XNamespace nsSigProp = "http://schemas.microsoft.com/office/infopath/2003/SignatureProperties";
var sigs = from sig in xDoc.Descendants(nsSig + "Signature")
select new
Signature
{
ID = sig.Attribute("Id").Value.ToString(),
Text = sig.Descendants(nsSigProp + "SignatureText").First().Value,
Value = sig.Descendants(nsSig + "SignatureValue").First().Value,
X509Certificate = sig.Descendants(nsSig + "X509Certificate").First().Value
};
signatures = sigs.ToList();
reader.Close();
}
There are a number of further attributes that you could grab from this information, but that should get you started off right.
InfoPathin' Tom Out.
Tags
SharePoint
CSharp
InfoPath
Related Blogs
Automatically Setting File Name in SharePoint when submitting an InfoPath 2007 Form
Fixing SharePoint error Log with "Preserving template record"
SharePoint Browser 1 Released!
Fixing MOSS/WSS SharePoint errors with Alternate Access Mappings
Comments
Currently no comments.
Add A Comment
Name:
URL:
Email Address: (not public, used to send notifications on further comments)
Comments:
Please enter the text from the image:

|