<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:bxd="http://pft.ck.fi/xmldata/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://pft.ck.fi/xmldata/" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="store://schemas/xmldsig-core-schema.xsd"/>
	<xs:element name="CertApplicationRequest">
		<xs:annotation>
			<xs:documentation>Wrapper for data. Used for transmitting data. Can be XML Digital Signed.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element name="CustomerId" nillable="false">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:minLength value="1"/>
							<xs:maxLength value="16"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Timestamp" type="xs:dateTime"/>
				<xs:element name="Environment" type="bxd:EnvironmentCode"/>
				<xs:element name="SoftwareId">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:minLength value="1"/>
							<xs:maxLength value="80"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Command" nillable="false" minOccurs="0">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="32"/>
							<xs:minLength value="1"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="ExecutionSerial" minOccurs="0">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:minLength value="1"/>
							<xs:maxLength value="32"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Encryption" type="xs:boolean" minOccurs="0"/>
				<xs:element name="EncryptionMethod" minOccurs="0">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:minLength value="1"/>
							<xs:maxLength value="35"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Compression" type="xs:boolean" minOccurs="0"/>
				<xs:element name="CompressionMethod" minOccurs="0">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:minLength value="1"/>
							<xs:maxLength value="35"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="Service" type="xs:string" default="MATU">
					<xs:annotation>
						<xs:documentation>ISSUER</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="Content" type="xs:base64Binary" nillable="true" minOccurs="0">
					<xs:annotation>
						<xs:documentation>pkcs#10 request</xs:documentation>
					</xs:annotation>
				</xs:element>
				<xs:element name="TransferKey" nillable="false" minOccurs="0">
					<xs:annotation>
						<xs:documentation>shared secret</xs:documentation>
					</xs:annotation>
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:maxLength value="32"/>
							<xs:minLength value="1"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element name="SerialNumber" nillable="false" minOccurs="0">
					<xs:simpleType>
						<xs:restriction base="xs:string">
							<xs:minLength value="1"/>
							<xs:maxLength value="25"/>
						</xs:restriction>
					</xs:simpleType>
				</xs:element>
				<xs:element ref="ds:Signature" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:simpleType name="EnvironmentCode">
		<xs:annotation>
			<xs:documentation>Production or Test</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:NMTOKEN">
			<xs:pattern value="(PRODUCTION|TEST)"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
