1<chapter id="xmlsec-notes-keys">
2    <title>Keys.</title>
3    <para>A key in XML Security Library is a representation of the
4	<ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo">&lt;dsig:KeyInfo/&gt;</ulink>
5	element and consist of several key data objects.
6	The "value" key data usually contains raw key material (or handlers to
7	key material) required to execute particular crypto transform. Other
8	key data objects may contain any additional information about the key.
9	All the key data objects in the key are associated with the same key
10	material. For example, if a DSA key material has both an X509
11	certificate and a PGP data associated with it then such a key can
12	have a DSA key "value" and two key data objects for X509 certificate
13	and PGP key data.
14    </para>
15    <figure>
16	<title>The key structure.</title>
17	<graphic fileref="images/key.png" align="center"></graphic>
18    </figure>
19    <para>XML Security Library has several "invisible" key data classes.
20	These classes never show up in the keys data list of a key but are used for
21	<ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyInfo">&lt;dsig:KeyInfo/&gt;</ulink>
22	children processing (<ulink URL="http://www.w3.org/TR/xmldsig-core/#sec-KeyName">&lt;dsig:KeyName/&gt;</ulink>,
23	&lt;enc:EncryptedKey/&gt;, ...). As with transforms, application might
24	add any new key data objects or replace the default ones.
25    </para>
26</chapter>
27