<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
      http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.

-->
<licenseinfo>
    <fileset>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/DerivedKeyPasswordValidator.template</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/Saml11HOKCallbackHandler.template</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/Saml11SVCallbackHandler.template</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/Saml20HOKCallbackHandler.template</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/Saml20SVCallbackHandler.template</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/sts.template</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/sts13.template</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/templates/sts_schema.template</file>
        <license ref="Apache-2.0-ASF"/>
        <comment type="TEMPLATE_MINIMAL_IP"/>
    </fileset>
    <fileset>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/client-keystore.jks</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/client-truststore.jks</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/server-keystore.jks</file>
        <file>src/org/netbeans/modules/websvc/wsitconf/resources/server-truststore.jks</file>
        <license ref="CDDL-1.0"/>
        <comment>The files are sample files taken from Netbeans 8.2 and don't support comments.</comment>
    </fileset>
</licenseinfo>