Manifestfunktionen und -erweiterungen
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Manifestfunktionen und -erweiterungen (Windows-Runtime-Apps)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Während der Installation Ihrer App ist eine Manifestdatei erforderlich. Das Manifest definiert Identität, Metadaten, Funktionen, Erweiterung und andere Attribute der Anwendung. Funktionen und Erweiterungen sind vor allem in Bezug auf Zertifikate wichtig, die mit Apps verwendet werden. Mit Funktionen kann festgelegt werden, ob eine App Zertifikatspeicher außerhalb des App-Containers freigeben kann, in dem sie ausgeführt wird. Erweiterungen können dazu verwendet werden, Zertifikate zusammen mit der Anwendung zu installieren, festzulegen, ob von der Systemvertrauensstellung geerbt werden soll, und Kriterien zur Zertifikatauswahl festzusetzen.

Funktionen

Mithilfe des Capabilities-Element in Ihrer Manifestdatei können Sie angeben, welche Aktionen von Ihrer App ausgeführt werden können. Insbesondere die sharedUserCertificates-Funktion muss angegeben werden, wenn die Anwendung Zertifikate und Schlüssel aus dem Speicher für vertrauenswürdige Benutzer oder von einer Smartcard lesen soll. Diese Zertifikate sind im MY-Speicher für vertrauenswürdige Benutzer und im Speicher "Smartcard vertrauenswürdige Stämme" enthalten. Im folgenden Beispiel wird veranschaulicht, wie die sharedUserCertificates-Funktion angegeben wird.

Hinweis  Bei der sharedUserCertificates-Funktion wird die Groß- und Kleinschreibung berücksichtigt.
 


  <Capabilities>
    <Capability Name="internetClient" />
    <Capability Name="privateNetworkClientServer" />
    <Capability Name="sharedUserCertificates" />
  </Capabilities>


Erweiterungen

Mithilfe der Zertifikaterweiterung können Sie Zertifikate mit der Anwendung installieren, angeben, ob von der Vertrauensstellung des Systems geerbt werden soll, und Kriterien für die Auswahl von Zertifikaten festlegen.

Zertifikaterweiterungsschema



<!--CERTIFICATES EXTENSION SCHEMA-->
<xs:complexType name="CT_Certificates">
     <xs:sequence>
          <xs:element name="Certificate" type="CT_CertificateContent" minOccurs="0" maxOccurs="100"/>
          <xs:element name="TrustFlags" type="CT_CertificateTrustFlags" minOccurs="0"/>
          <xs:element name="SelectionCriteria" type="CT_CertificateSelectionCriteria" minOccurs="0"/>
     </xs:sequence>
</xs:complexType>

<xs:complexType name="CT_CertificateContent">
     <xs:attribute name="StoreName" type="ST_CertificateStoreName" use="required"/>
     <xs:attribute name="Content" type="ST_FileName" use="required"/>
</xs:complexType>

<xs:complexType name="CT_CertificateTrustFlags">
     <xs:attribute name="ExclusiveTrust" type="xs:boolean" use="required "/>
</xs:complexType>

<xs:complexType name="CT_CertificateSelectionCriteria ">
     <xs:attribute name="HardwareOnly" type="xs:boolean" use="optional"/>
     <xs:attribute name="AutoSelect" type="xs:boolean" use="optional"/>
</xs:complexType>

<xs:simpleType name="ST_CertificateStoreName">
     <xs:restriction base="xs:string">
          <xs:pattern value="[-_A-Za-z0-9]+"/>
          <xs:maxLength value="50"/>
     </xs:restriction>
</xs:simpleType>

Zertifikaterweiterungsinhalt

ElementAttributBeschreibungZulässiger TextOptional

Certificate

Das Zertifikat, das in dem für App-Container spezifischen Zertifikatspeicher installiert werden soll. Der Speicher wird durch das StoreName-Attribut angegeben. Das Zertifikat wird durch das Content-Attribut angegeben.

Ja

StoreName

Gibt den Namen des Zertifikatspeichers an. Hierbei kann es sich um einen bekannten Speicher, wie Root, CA oder TrustedPeople, oder um einen Speicher mit einem benutzerdefinierten Namen handeln.

Ein spezieller Speicher mit dem Namen "Issuer" kann eine Namensliste der Aussteller enthalten, die für die Zertifikatauswahl verwendet wird.

Kann alphanumerische Zeichen, "-", "_" sowie Leerzeichen enthalten.

Dies kann ein beliebiger Name sein, der als Registrierungsschlüsselname zulässig ist.

Nein

Content

Der Dateipfad des Zertifikats, das dem Speicher hinzugefügt werden soll.

Dies kann ein beliebiger gültiger Dateipfad sein.

Die Zertifikatdatei muss in einem Format vorliegen, das von Windows unterstützt wird.

Nein

TrustFlags

Flags, die das Verhalten bei der Zertifikatüberprüfung definieren.

Ja

ExclusiveTrust

Der Wert "True" gibt an, dass die Anwendung nicht von der Vertrauensstellung des Systems erbt.

True

False

Ja

SelectionCriteria

Flags, die Kriterien für die Zertifikatauswahl angeben.

Ja

HardwareOnly

Der Wert "True" gibt an, dass das ausgewählte Zertifikat hardwarebasiert sein muss.

True

False

Ja

AutoSelect

Der Wert "True" gibt an, dass das ausgewählte Zertifikat automatisch aus dem App-Container ausgewählt wird.

True

False

Ja

 

Beispiel 1 für Zertifikaterweiterungen



<Extensions>
  <!--Certificates Extension-->
  <Extension Category="Microsoft.Windows.Certificates">
    <Certificates>
        <Certificate StoreName="Root" Content="Certificates\Root\myroot1.cer"/>
        <Certificate StoreName="Root" Content="myroot2.cer"/>
        <Certificate StoreName="TrustedPeople" Content="mypeer1.sst"/>
        <Certificate StoreName="Issuer" Content="myissuer.cer"/>
        <TrustFlags ExclusiveTrust="true"/>
        <SelectionCriteria HardwareOnly="true" AutoSelect="true"/>
    </Certificates>
  </Extension>
</Extensions>

Beispiel 2 für Zertifikaterweiterungen



<Extensions>
  <!--Certificates Extension-->
  <Extension Category="windows.certificates">
    <Certificates>
        <Certificate StoreName="Root" Content="myroot.cer" />
        <Certificate StoreName="CA" Content="mystandca.cer"/>
        <TrustFlags ExclusiveTrust="true" />
        <SelectionCriteria AutoSelect="true" />
    </Certificates>
  </Extension>
</Extensions>

Verwandte Themen

Kryptografie und PKI

 

 

Anzeigen:
© 2016 Microsoft