2 // System.Security.Cryptography.Xml.XmlLicenseTransform class
5 // Sebastien Pouliot <sebastien@ximian.com>
7 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 namespace System
.Security
.Cryptography
.Xml
{
35 public class XmlLicenseTransform
: Transform
{
37 private IRelDecryptor _decryptor
;
38 private Type
[] inputTypes
;
39 private Type
[] outputTypes
;
41 public XmlLicenseTransform ()
43 Algorithm
= XmlSignature
.AlgorithmNamespaces
.XmlLicenseTransform
;
46 public IRelDecryptor Decryptor
{
47 get { return _decryptor; }
48 set { _decryptor = value; }
51 public override Type
[] InputTypes
{
53 if (inputTypes
== null)
54 inputTypes
= new Type
[1] { typeof (XmlDocument) }
;
60 public override Type
[] OutputTypes
{
62 if (outputTypes
== null)
63 outputTypes
= new Type
[1] {typeof (XmlDocument)}
;
70 protected override XmlNodeList
GetInnerXml ()
76 public override object GetOutput ()
81 public override object GetOutput (Type type
)
83 if (type
!= typeof (XmlDocument
))
84 throw new ArgumentException ("type");
88 public override void LoadInnerXml (XmlNodeList nodeList
)
90 // documented as not supported
94 public override void LoadInput (object obj
)
96 if (obj
!= typeof (XmlDocument
))
97 throw new ArgumentException ("obj");
98 if (_decryptor
== null)
99 throw new CryptographicException (Locale
.GetText ("missing decryptor"));
100 // TODO: check for <issuer> element
101 // TODO: check for <license> element