This software and related documentation are provided under a license
19 | agreement containing restrictions on use and disclosure and are
20 | protected by intellectual property laws. Except as expressly permitted
21 | in your license agreement or allowed by law, you may not use, copy,
22 | reproduce, translate, broadcast, modify, license, transmit, distribute,
23 | exhibit, perform, publish, or display any part, in any form, or by any
24 | means. Reverse engineering, disassembly, or decompilation of this
25 | software, unless required by law for interoperability, is prohibited.
26 |
The information contained herein is subject to change without notice
27 | and is not warranted to be error-free. If you find any errors, please
28 | report them to us in writing.
29 |
If this is software or related software documentation that is
30 | delivered to the U.S. Government or anyone licensing it on behalf of
31 | the U.S. Government, the following notice is applicable:
32 |
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related
33 | documentation and technical data delivered to U.S. Government customers
34 | are "commercial computer software" or "commercial technical data"
35 | pursuant to the applicable Federal Acquisition Regulation and
36 | agency-specific supplemental regulations. As such, the use,
37 | duplication, disclosure, modification, and adaptation shall be subject
38 | to the restrictions and license terms set forth in the applicable
39 | Government contract, and, to the extent applicable by the terms of the
40 | Government contract, the additional rights set forth in FAR 52.227-19,
41 | Commercial Computer Software License (December 2007). Oracle USA, Inc.,
42 | 500 Oracle Parkway, Redwood City, CA 94065.
43 |
This software or hardware is developed for general use in a variety
44 | of information management applications. It is not developed or intended
45 | for use in any inherently dangerous applications, including
46 | applications which may create a risk of personal injury. If you use
47 | this software or hardware in dangerous applications, then you shall be
48 | responsible to take all appropriate fail-safe, backup, redundancy, and
49 | other measures to ensure the safe use. Oracle Corporation and its
50 | affiliates disclaim any liability for any damages caused by use of this
51 | software or hardware in dangerous applications.
52 |
Oracle and Java are registered trademarks of Oracle Corporation
53 | and/or its
54 | affiliates. Oracle and Java are registered trademarks of Oracle and/or
55 | its affiliates. Other names may be trademarks of their respective
56 | owners.
57 |
AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks
58 | or registered trademarks of Advanced Micro Devices. Intel and Intel
59 | Xeon are trademarks or registered trademarks of Intel Corporation. All
60 | SPARC trademarks are used under license and are trademarks or
61 | registered trademarks of SPARC International, Inc. UNIX is a registered
62 | trademark licensed through X/Open Company, Ltd.
63 |
This software or hardware and documentation may provide access to or
64 | information on content, products, and services from third parties.
65 | Oracle Corporation and its affiliates are not responsible for and
66 | expressly disclaim all warranties of any kind with respect to
67 | third-party content, products, and services. Oracle Corporation and its
68 | affiliates will not be responsible for any loss, costs, or damages
69 | incurred due to your access to or use of third-party content, products,
70 | or services.
71 |
Ce logiciel et la documentation qui l’accompagne sont
78 | protégés par les
79 | lois sur la propriété intellectuelle. Ils sont
80 | concédés sous licence et soumis à
81 | des restrictions d’utilisation et de divulgation. Sauf disposition de
82 | votre contrat de licence ou
83 | de la loi, vous ne pouvez pas copier, reproduire, traduire, diffuser,
84 | modifier, breveter,
85 | transmettre, distribuer, exposer, exécuter, publier ou afficher
86 | le logiciel, même partiellement, sous quelque forme
87 | et par quelque procédé que ce soit. Par ailleurs, il est
88 | interdit de
89 | procéder à toute ingénierie inverse du logiciel,
90 | de le désassembler ou de le décompiler,
91 | excepté à des fins d’interopérabilité avec
92 | des logiciels tiers ou tel que prescrit par
93 | la loi.
94 |
Les informations fournies dans ce document sont susceptibles de
95 | modification sans préavis.
96 | Par ailleurs, Oracle Corporation ne garantit pas qu’elles soient
97 | exemptes d’erreurs et vous invite,
98 | le cas échéant, à lui en faire part par
99 | écrit.
100 |
Si ce logiciel, ou
101 | la documentation qui l’accompagne, est concédé sous
102 | licence au Gouvernement des Etats-Unis, ou à
103 | toute entité qui délivre la licence de ce logiciel ou
104 | l’utilise pour le
105 | compte du Gouvernement des Etats-Unis, la notice suivante s’applique:
106 |
U.S. GOVERNMENT RIGHTS. Programs,
107 | software, databases, and related documentation and technical data
108 | delivered to U.S. Government customers are
109 | "commercial computer software" or "commercial technical data" pursuant
110 | to the applicable Federal Acquisition
111 | Regulation and agency-specific supplemental regulations. As such, the
112 | use, duplication, disclosure, modification, and
113 | adaptation shall be subject to the restrictions and license terms set
114 | forth in
115 | the applicable Government contract, and, to the extent applicable by
116 | the terms of the
117 | Government contract, the additional rights set forth in FAR 52.227-19,
118 | Commercial Computer Software
119 | License (December 2007). Oracle America, Inc., 500 Oracle Parkway,
120 | Redwood City, CA
121 | 94065.
122 |
Ce logiciel ou matériel a été
123 | développé pour un usage général dans le
124 | cadre d’applications de gestion des informations. Ce logiciel ou
125 | matériel n’est pas conçu ni
126 | n’est destiné à être utilisé dans des
127 | applications à risque, notamment dans des applications
128 | pouvant causer des dommages corporels. Si vous utilisez ce logiciel ou
129 | matériel dans
130 | le cadre d’applications dangereuses, il est de votre
131 | responsabilité de prendre toutes les mesures
132 | de secours, de sauvegarde, de redondance et autres mesures
133 | nécessaires à son utilisation
134 | dans des conditions optimales de sécurité. Oracle
135 | Corporation et ses affiliés déclinent toute
136 | responsabilité
137 | quant aux dommages causés par l’utilisation de ce logiciel ou
138 | matériel pour ce type
139 | d’applications.
140 |
Oracle et Java sont des marques déposées d’Oracle
141 | Corporation et/ou de ses affiliés.Tout
142 | autre nom mentionné peut correspondre à des marques
143 | appartenant à d’autres propriétaires qu’Oracle.
144 |
AMD, Opteron,
145 | le logo AMD et le logo AMD Opteron sont des marques ou des
146 | marques déposées d’Advanced Micro Devices. Intel et Intel
147 | Xeon sont des marques ou
148 | des marques déposées d’Intel Corporation. Toutes les
149 | marques SPARC sont utilisées sous licence et
150 | sont des marques ou des marques déposées de SPARC
151 | International, Inc. UNIX est une
152 | marque déposée concédée sous licence par
153 | X/Open Company, Ltd.
154 |
Ce logiciel ou matériel et
155 | la documentation qui l’accompagne peuvent fournir des informations ou
156 | des liens donnant accès à
157 | des contenus, des produits et des services émanant de tiers.
158 | Oracle Corporation et
159 | ses affiliés déclinent toute responsabilité ou
160 | garantie expresse quant aux contenus, produits ou services
161 | émanant de tiers. En aucun cas, Oracle Corporation et ses
162 | affiliés ne sauraient
163 | être tenus pour responsables des pertes subies, des coûts
164 | occasionnés ou des dommages causés
165 | par l’accès à des contenus, produits ou services tiers,
166 | ou à leur utilisation.
167 |
These release notes describe the development kit for the Java Card 3
72 | Platform, Version 3.0.3, Classic Edition. This version
73 | of the development kit is a maintenance release and includes bug fixes.
74 | It also supports a new tool, the trimming tool, which is
75 | designed to minimize the code footprint of an application before it is
76 | deployed to a smartcard. The trimming tool is available in a separate
77 | download bundle for licensees only.
78 |
79 |
Java Card technology combines a subset of the Java programming
80 | language with a runtime environment optimized for smart cards and
81 | similar small-memory embedded devices. The goal of Java Card technology
82 | is to bring many of the benefits of the Java programming language to
83 | the resource-constrained world of smart cards. The Java Card API is
84 | compatible with international standards such as ISO 7816, and
85 | industry-specific standards such as Europay, Master Card, and Visa
86 | (EMV).
87 |
88 |
Java Card platform version 3.0.3 is the latest evolution of Java
89 | Card technology. This development kit is based on version 3.0.1 of the
90 | Java Card specifications, which includes their errata sheets located at
91 | http://www.oracle.com/technetwork/java/javacard/jc-classic-spec-errata-140181.html.
93 | The
94 | Java
95 | Card
96 | 3
97 | platform
98 | consists
99 | of version 3.0 and 3.0.1 of the
100 | specifications and versions 3.0.1, 3.0.2, and 3.0.3 of the development
101 | kit.
102 |
103 |
The Java Card platform is available in two
104 | editions, both of which are backward compatible with previous versions
105 | and share key security features:
106 |
107 |
108 |
Classic Edition is based on an evolution of the Java Card
109 | Platform,
110 | Version 2.2.2, architecture. This edition targets more
111 | resource-constrained devices than the Connected Edition. These release
112 | notes are for the Classic Edition.
113 |
114 |
Connected Edition contains a new architecture compared to the
115 | Java
116 | Card technology released in version 2.2.2, which is now knows as the
117 | "Classic Edition." The Connected Edition enables the integration of
118 | smart cards within IP networks and web services architectures. To do
119 | so., it features a significantly enhanced runtime environment and
120 | virtual machine (VM), and it includes new network-oriented features,
121 | such as support for Java Servlet APIs and Java Card applets with
122 | extended and advanced capabilities.
123 |
This release is targeted for use on the Microsoft Windows XP SP3
132 | operating system.
133 |
134 |
135 |
Required Software
136 |
The following software must be installed for the Java Card
137 | development
138 | kit to work:
139 |
140 |
Java Development Kit. The
141 | commercial version of Java
142 | Development Kit (JDK™) version 6, Update 10 or later is required. You
144 | can download the supported JDK software, JDK 6 Update 10 or later, from
145 | http://www.oracle.com/technetwork/java/javase/downloads/index.html.
148 |
GCC Compiler. To build
149 | the VM, this release
150 | requires Minimal GNU for Windows (MinGW) version 5.1.4 or later. MinGW
151 | can be
152 | obtained from http://prdownloads.sourceforge.net/mingw. For
154 | information on
155 | MinGW go to http://www.mingw.org.
156 |
Apache Ant. Apache Ant
157 | version 1.6.5 or later is
158 | required. Latest version of Apache Ant can be obtained http://ant.apache.org.
160 |
161 |
Note: Do not
162 | install any software in a directory that
163 | contains a space in its name. For example, do not install software in
164 | any subdirectory of c:\program files because of the space
165 | in the program files element
166 |
167 |
Note: The trimming tool
168 | bundle and the bundle containing the specifications must
169 | be
170 | downloaded separately.The bundle containing the trimming tool MUST be
171 | installed into a directory separate from this development kit directory.
172 |
173 |
174 |
Contents of This Release
175 |
This release contains both binary and source
176 | code. Note that neither the new trimming tool nor the Java Card
177 | specifications are included in this
178 | development kit release bundle.
179 |
Note: This release fixes
180 | the off-card verifier verification problem, recently reported by THALES
181 | Information Systems Security, which is related to verification of
182 | multiple execution paths with changed local variable types.
183 |
This release contains features required to support classic Java Card
184 | applet applications on the card. Specifically, this release includes
185 | the following:
186 |
187 |
Java Card runtime environment (cref.exe)
188 |
Uninstaller tool
189 |
190 |
Normalizer tool (normalizer.bat)
191 |
192 |
APDU tool (apdutool.bat)
193 |
capdump tool
194 |
195 |
capgen tool
196 |
197 |
Converter tool (converter.bat)
198 |
exp2text tool
199 |
200 |
on-card installer
201 |
maskgen tool
202 |
203 |
off-card verifier tool
204 |
205 |
scriptgen tool
206 |
207 |
optional Ant tasks
208 |
209 |
Sample applications
210 |
User's guide for this release in Development Kit User's Guide for
212 | the Java Card Platform, Version 3.0.3, Classic Edition
213 |
214 |
Note: The debugging tool jcwde, which was in previous
216 | releases, is no longer included. To develop and debug your classic
217 | applets, you might want to use the Connected Edition development kit
218 | and the NetBeans IDE, version 6.8 or higher, along with its Java Card
219 | technology-specific plugin.
For a more thorough description of the installation, contents and
225 | use of the development kit, see Development
226 | User's
227 | Guide,
228 | Java
229 | Card
230 | Platform, Version 3.0.3, Classic Edition
231 | included in the download bundle for this release.
232 |
An automatic installer tool can be used to unpack the download file
233 | containing this release. During download, you can choose to let the
234 | installer tool unpack the download file into a directory of your choice
235 | on your system or you can save the download file itself to your system.
236 |
237 |
Note: Do not
238 | install the development kit software in any
239 | directory that has a space in its name. For example, on a Windows
240 | platform, do not install software in the c:\program files
241 | directory, or any subdirectory of c:\program files,
242 | because the program files element contains a space.
243 |
244 |
Note: Do not
245 | install the trimming tool bundle into the directory containing this
246 | development kit. The trimming tool must be installed into a separate
247 | folder that is not within the installed development kit's folder.
248 |
249 |
Note: Do not install this
250 | version of the Java Card
251 | development kit or trimming tool into an existing directory for an
252 | older version. You must first uninstall the
253 | previously installed version of the Java Card
254 | development kit or trimming tool prior to installing this version into
255 | the old
256 | directory. Installing into the same directory without first
257 | uninstalling could result in unpredictable behavior.
258 |
To install the Java Card development kit and associated software,
259 | follow these steps:
Install Apache Ant version 1.6.5 or later. The latest
271 | version is available at: http://ant.apache.org/.
272 |
273 |
274 |
275 |
276 |
Install the GCC compiler.
277 | The compiler Minimal GNU for Windows (MinGW), version 5.1.4 is
278 | required. It is available at http://sourceforge.net/projects/mingw,
280 | while
281 | its
282 | installation
283 | information is at http://www.mingw.org.
284 |
Download the Java Card development kit. Download and
285 | store the development kit Java Archive (JAR) file in a
286 | directory of your choice.
287 |
Run the development kit installer or use the command line.
288 | Double
289 | click
290 | the
291 | JAR
292 | file
293 | on
294 | your system. If
295 | the
296 | JDK
297 | is installed correctly, the jar file is recognized as an executable
298 | jar and the automatic installer will
299 | launch to step you through the remainder of the installation process.
300 |
301 |
302 |
Alternatively, you can use the command
303 | line to unpack the JAR file using the following command:
304 |
305 |
java -jarBundle-Filename
306 |
307 |
308 | Where Bundle-Filename is the downloaded development kit
309 | JAR file.
310 |
By default, the development kit is installed in C:\JCDK3.0.3_ClassicEdition_RR
311 | and its associated sub-directories. You can specify a different
312 | directory if you wish.
313 |
314 |
The directory C:\JCDK3.0.3_ClassicEdition_RR (or
315 | the alternate directory you specify during installation) is referred to
316 | as JC_CLASSIC_HOME in these
317 | release notes. When the development
318 | kit installation is complete, JC_CLASSIC_HOME
319 | contains the following:
320 |
428 | System variables and paths must be set before
429 | running the development kit. See the Development
430 | Kit
431 | User's
432 | Guide more details on how to set them.
433 | Note that if you choose to set the variables
434 | and paths each time you run the development kit rather than
435 | permanently in your system, you can place the appropriate commands in a
436 | batch file.
437 |
438 |
JAVA_HOME. You must set the JAVA_HOME
439 | system variable to the JDK root directory before running the
440 | development kit
441 |
442 |
To temporarily set JAVA_HOME from the command
443 | line, enter the
444 | command: set JAVA_HOME=c:\path before running the
445 | development kit. For example, if the Java platform software is stored
446 | in your c:\jdk6 directory, enter set JAVA_HOME=c:\jdk6
447 | before running the development kit.
448 |
449 |
450 |
JC_CLASSIC_HOME. You must set the JC_CLASSIC_HOME
459 | system variable to the directory in which the development kit is
460 | installed before running the development kit.
463 |
464 |
To temporarily set JC_CLASSIC_HOME from the
465 | command
466 | line, enter the
467 | command: set JC_CLASSIC_HOME=c:\path before
468 | running the
469 | development kit. For example, if the Java Card development kit is
470 | stored
471 | in your c:\JCDK3.0.3_ClassicEdition_RR
472 | directory, enter set JC_CLASSIC_HOME=c:\JCDK3.0.3_ClassicEdition_RR
473 | before running the development kit.
476 |
477 |
478 |
479 |
Apache Ant. You
480 | must set the ANT_HOME
481 | system variable to the Apache Ant directory
482 | before running the samples.
483 |
484 |
485 |
To temporarily set ANT_HOME from the command
486 | line, enter the
487 | command: set PATH=c:\path before running the
488 | development kit. For example, if Apache Ant is stored
489 | in your c:\ant\apache-ant1.6.5
490 | directory, enter set ANT_HOME=c:\ant\apache-ant1.6.5
491 | before running the development kit.
492 |
493 |
494 |
495 |
496 |
MinGW. You must set the
497 | path to the location of MinGW before running the
498 | development kit. Note that the path has to
499 | point to the \bin subdirectory of the MinGW installation
500 | directory
501 | where
502 | the
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 | gcc.exe file is located.
530 |
531 |
To temporarily set the path to MinGW, enter the command set
532 | PATH=c:\MinGW_path;%PATH%. For example, if MinGW is
533 | installed in c:\MinGW, enter the command set
534 | PATH=c:\MinGW\bin;%PATH% before running the development kit.
535 |
536 |
537 |
538 |
Configuring the Java Card Runtime
539 | Environment for the Samples
540 |
541 |
Note that the Java Card RE (cref)
542 | implementation
543 | is
544 | not
545 | optimized
546 | for
547 | memory
548 | or
549 | performance
550 | and, therefore, requires
551 | more memory than an actual optimized implementation on a card. To run
552 | the Java Card RE, you can use the default executable, cref.bat, using the command
554 | line as follows:
555 |
633 |
634 |
635 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/Uninstaller/uninstaller.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/Uninstaller/uninstaller.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/java/io/javacard/io.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/java/io/javacard/io.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/java/lang/javacard/lang.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/java/lang/javacard/lang.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/java/rmi/javacard/rmi.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/java/rmi/javacard/rmi.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacard/framework/javacard/framework.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacard/framework/javacard/framework.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacard/framework/service/javacard/service.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacard/framework/service/javacard/service.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacard/security/javacard/security.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacard/security/javacard/security.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/apdu/javacard/apdu.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/apdu/javacard/apdu.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/biometry/javacard/biometry.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/biometry/javacard/biometry.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/crypto/javacard/crypto.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/crypto/javacard/crypto.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/external/javacard/external.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/external/javacard/external.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/math/javacard/math.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/math/javacard/math.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/tlv/javacard/tlv.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/tlv/javacard/tlv.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/util/intx/javacard/intx.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/util/intx/javacard/intx.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/util/javacard/util.exp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/api_export_files/javacardx/framework/util/javacard/util.exp
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/apdutool.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute apdutool's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.apdutool.Main %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/capdump.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute capdump's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.capdump.CapDump %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/capgen.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute capgen's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.jcasm.cap.Main %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/converter.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute converter's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.converter.Main %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/cref.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | rem
4 | rem in Java Card 2 there was only cref.exe, but now we provide cref_t0.exe,
5 | rem cref_t1.exe, and cref_tdual.exe.
6 | rem
7 | @echo off
8 | setlocal
9 | set JC_CLASSIC_HOME=%~dp0\..
10 | rem this batch file is provided as a easy way to call the new .exe's.
11 | rem
12 | rem "cref.bat args" will call "cref_tdual.exe args"
13 | rem
14 | rem "cref.bat -t0 args" will call "cref_t0.exe args"
15 | rem "cref.bat -t1 args" will call "cref_t1.exe args"
16 | rem "cref.bat -tdual args" will call "cref_tdual.exe args"
17 | rem
18 | setlocal
19 | set list=
20 | set target=cref_tdual
21 | :loop
22 | if "%1"=="" goto done
23 | if "%1"=="-t0" (
24 | set target=cref_t0
25 | shift
26 | goto loop
27 | )
28 | if "%1"=="-t1" (
29 | set target=cref_t1
30 | shift
31 | goto loop
32 | )
33 | if "%1"=="-tdual" (
34 | set target=cref_tdual
35 | shift
36 | goto loop
37 | )
38 | set list=%list% %1
39 | shift
40 | goto loop
41 | :done
42 | call %JC_CLASSIC_HOME%\bin\%target%.exe %list%
43 | endlocal
44 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/cref_t0.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/bin/cref_t0.exe
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/cref_t1.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/bin/cref_t1.exe
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/cref_tdual.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/bin/cref_tdual.exe
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/exp2text.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute exp2text's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.converter.Exp2Text %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/normalizer.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute normalizer's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.normalizer.Main %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/packager.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute packager's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.packager.Main %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/scriptgen.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute scriptgen's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.scriptgen.Main %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/verifycap.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute verifycap's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.offcardverifier.Verifier %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/verifyexp.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute verifyexp's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.offcardverifier.VerifyExp %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/bin/verifyrev.bat:
--------------------------------------------------------------------------------
1 |
2 | @echo off
3 | setlocal
4 | set JC_CLASSIC_HOME=%~dp0\..
5 | rem Print warning if no JAVA_HOME set
6 | if not defined JAVA_HOME goto nojavahome
7 |
8 | rem set classpath to all jars
9 |
10 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\ant-contrib-1.0b3.jar;%JC_CLASSPATH%
11 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\asm-all-3.1.jar;%JC_CLASSPATH%
12 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\bcel-5.2.jar;%JC_CLASSPATH%
13 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-cli-1.0.jar;%JC_CLASSPATH%
14 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-codec-1.3.jar;%JC_CLASSPATH%
15 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-httpclient-3.0.jar;%JC_CLASSPATH%
16 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\commons-logging-1.1.jar;%JC_CLASSPATH%
17 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\jctasks.jar;%JC_CLASSPATH%
18 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\tools.jar;%JC_CLASSPATH%
19 | set JC_CLASSPATH=%JC_CLASSIC_HOME%\lib\api_classic.jar;%JC_CLASSPATH%
20 |
21 | rem execute verifyrev's Main class
22 | "%JAVA_HOME%\bin\java" -Djc.home=%JC_CLASSIC_HOME% -classpath %JC_CLASSPATH% com.sun.javacard.offcardverifier.VerifyRev %*
23 | goto done
24 | :nojavahome
25 | echo JAVA_HOME is not set - please set it to point to JDK 1.6
26 | :done
27 | endlocal
28 |
29 | rem Send the error code to the command interpreter
30 | cmd /c Exit /B %errorlevel%
31 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/document.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
3 | * Use is subject to license terms.
4 | *
5 | * SCCS: %W% %E%
6 | */
7 |
8 |
9 | /* font tag overwrite */
10 | font {
11 | font-family:Arial, Helvetica, FreeSans, "Luxi-sans", "Nimbus Sans L", sans-serif;
12 | font-size:14px;
13 | }
14 | /* font family */
15 | body, input, select, textarea, button {
16 | font-family:Arial, Helvetica, FreeSans, "Luxi-sans", "Nimbus Sans L", sans-serif;
17 | font-size:100%;
18 | }
19 | code, kbd, tt, pre {
20 | font-family:Monaco, Courier, "Courier New";
21 | font-size:110%;
22 | }
23 | /* generic */
24 | body {
25 | color:#000;
26 | }
27 | a {
28 | color:#666;
29 | text-decoration:none
30 | }
31 | a.href {
32 | color:#666;
33 | text-decoration:none
34 | }
35 | a.hover {
36 | color:#F00;
37 | text-decoration:none
38 | }
39 | a.visited {
40 | color:#999;
41 | text-decoration:none
42 | }
43 | a.link {
44 | color:#F00;
45 | text-decoration:none
46 | }
47 |
48 | ol, ul {
49 | margin:1ex;
50 | padding-left:1ex;
51 | }
52 | li {
53 | margin:1ex;
54 | padding-left:0ex
55 | }
56 | dl {
57 | margin:1.6ex;
58 | padding-left:0ex;
59 | }
60 | dt {
61 | margin:1ex;
62 | padding-left:0ex
63 | }
64 |
65 | tr {vertical-align:top;}
66 |
67 | table tr th {
68 | background:#E5E5E6;
69 | font-size:90%;
70 | text-align:left;
71 | vertical-align:top;
72 | padding-left:1ex;
73 | }
74 | caption {
75 | font-weight:bold;
76 | font-size:85%;
77 | }
78 | /* hr */
79 | hr.light {
80 | background:#E3E3E3;
81 | color:#E3E3E3;
82 | height:2px;
83 | padding:0;
84 | border:0
85 | }
86 | hr.red {
87 | background:#F00;
88 | color:#F00;
89 | height:2px;
90 | padding:0;
91 | border:0
92 | }
93 |
94 | div.MastheadPane {
95 | height: 45px;
96 | width: 100%;
97 | top: 0;
98 | right: 0;
99 | bottom: auto;
100 | left: 0;
101 | overflow: hidden;
102 | border-bottom: 3px #F00;
103 | margin: 0;
104 | text-decoration:none;
105 | }
106 | div.MastheadDateBuild {
107 | height: 90px;
108 | width: 100%;
109 | top: 0;
110 | right: 0;
111 | bottom: auto;
112 | left: 0;
113 | overflow: visible;
114 | border-bottom: 3px #F00;
115 | text-decoration:none;
116 | }
117 | .MastheadPane tr td {
118 | background:#fff;
119 | background-color:#FFF;
120 | padding: 0px;
121 | margin: 0px;
122 | }
123 | .MastheadPane tr th {
124 | background:#fff;
125 | background-color:#FFF;
126 | padding: 0px;
127 | margin: 0px;
128 | }
129 | .MastheadDateBuild tr th {
130 | background:#fff;
131 | background-color:#FFF;
132 | padding: 0px;
133 | margin: 0px;
134 | }
135 | .MastheadDateBuild tr td {
136 | background:#fff;
137 | background-color:#FFF;
138 | padding: 0px;
139 | margin: 0px;
140 | }
141 |
142 | table.MastheadTable {
143 | width: 100%;
144 | border-collapse:collapse;
145 | padding: 0px;
146 | margin: 0px;
147 | background:#FFF;
148 | background-color:#FFF
149 | }
150 | table.MastheadDateBuild {
151 | width: 100%;
152 | border-collapse:collapse;
153 | margin: 0px;
154 | padding: 0px;
155 | background:#FFF;
156 | }
157 | div.MastheadPane a {
158 | color: rgb(127, 127, 127);
159 | background:#FFF;
160 | }
161 |
162 | th.smallLogo {
163 | width: 130px;
164 | align: right;
165 | }
166 | td.smallLogo {
167 | width: 130px;
168 | align: right;
169 | }
170 | td.javaLogo {
171 | width: 100px;
172 | text-align: right;
173 | }
174 | .smallLogo img {
175 | padding-right: 15px;
176 | }
177 | tr.breadcrumbbar {
178 | margin: 0px;
179 | height: 15px;
180 | }
181 | tr.titlebar {
182 | height: 55px;
183 | padding: 0px;
184 | background-color:#FFF;
185 | }
186 | h4.contentpage-doctitle {
187 | color: rgb(127, 127, 127);
188 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
189 | font-size: 120%;
190 | font-weight: bold;
191 | text-align: left;
192 | padding: 0px;
193 | width: auto;
194 | }
195 |
196 | p.breadcrumb a {
197 | color: rgb(255, 0, 0);
198 | font-weight: bold;
199 | }
200 | p.breadcrumb {
201 | margin-bottom: 20px
202 | }
203 | div.MainContent a:visited {
204 | color: rgb(127, 127, 127)
205 | }
206 | div.MainContent a {
207 | color: rgb(0, 0, 0);
208 | text-decoration:none
209 | }
210 | div.embeddedtoc {
211 | margin: 0ex;
212 | }
213 | .embeddedtoc a {
214 | color:#666;
215 | text-decoration:none
216 | }
217 | .embeddedtoc a.href {
218 | color:#666;
219 | text-decoration:none
220 | }
221 | .embeddedtoc a.hover {
222 | color:#F00;
223 | text-decoration:none
224 | }
225 | .embeddedtoc a.visited {
226 | color:#999;
227 | text-decoration:none
228 | }
229 | .embeddedtoc a.link {
230 | color:#666;
231 | text-decoration:none
232 | }
233 | .embeddedtoc p {
234 | margin-top: -1ex;
235 | }
236 | .embeddedtoc p.level1 a {
237 | color: (127,127,127);
238 | font-size: 100%;
239 | }
240 | .embeddedtoc p.level2 a {
241 | color: rgb(127,127,127);
242 | font-size: 90%;
243 | margin-left: 3ex;
244 | }
245 | .embeddedtoc p.level3 a {
246 | color: rgb(127,127,127);
247 | font-size: 85%;
248 | margin-left: 6ex;
249 | }
250 | .embeddedtoc p.level4 a {
251 | color: rgb(127,127,127);
252 | font-size: 85%;
253 | margin-left: 9ex;
254 | }
255 | .embeddedtoc p.level5 a {
256 | color: rgb(70,70,70);
257 | font-size: 85%;
258 | margin-left: 12ex;
259 | }
260 | div.BodyStyle {
261 | width: 100%;
262 | top: 100px;
263 | right: 0;
264 | bottom: 20px;
265 | left: 0px;
266 | margin: 0px;
267 | overflow: hidden;
268 | font-family:Arial, Helvetica, FreeSans, "Luxi-sans", "Nimbus Sans L", sans-serif;
269 | }
270 | BodyStyle a.href {
271 | text-decoration:none
272 | }
273 | BodyStyle a.hover {
274 | color:#F00
275 | }
276 | BodyStyle a.visited {
277 | color:#999
278 | }
279 | BodyStyle a.link {
280 | color:#666
281 | }
282 |
283 | p.navtop, p.navtop a {
284 | font-size:85%;
285 | }
286 |
287 | body {
288 | padding: 1.5em;
289 | margin: 0;
290 | background-color: white;
291 | font-size:14px;
292 | }
293 | h1+p, h2+p, h3+p, h4+p, h5+p {
294 | margin-top: 0;
295 | }
296 | code, pre {
297 | color: black;
298 | }
299 | pre {
300 | background-color: #efefef;
301 | border: 1px solid #ccc;
302 | padding: 0.5em;
303 | overflow: hidden;
304 | font-size: 110%;
305 | }
306 | a img {
307 | border-style: none;
308 | }
309 | div.TitleDiv {
310 | margin-top: 30px;
311 | }
312 | h2.DocTitle {
313 | color: rgb(127, 127, 127);
314 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
315 | font-size: 115%;
316 | font-weight: bold;
317 | text-align: left;
318 | text-decoration: none;
319 | text-indent: 0px;
320 | text-transform: none
321 | }
322 | h3.SubTitle {
323 | color: rgb(127, 127, 127);
324 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
325 | font-size: 90%;
326 | font-weight: bold;
327 | text-align: left;
328 | text-decoration: none;
329 | text-indent: 0px;
330 | text-transform: none
331 | }
332 | h4.TitleDate {
333 | color: rgb(127, 127, 127);
334 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
335 | font-size: 80%;
336 | font-weight: bold;
337 | text-align: left;
338 | text-decoration: none;
339 | text-indent: 0px;
340 | text-transform: none
341 | }
342 | .BodyStyle tr thead th {
343 | text-align:left;
344 | background-color:#fefefe;
345 | }
346 | .BodyStyle h1 {
347 | margin-top: 1.25em;
348 | margin-bottom: 0.5em;
349 | color: rgb(127, 127, 127);
350 | }
351 | .BodyStyle h2 {
352 | font-size: 125%;
353 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
354 | margin-top: 1.25em;
355 | margin-bottom: 0.5em;
356 | color: rgb(127, 127, 127);
357 | }
358 | .BodyStyle h3 {
359 | font-size: 115%;
360 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
361 | margin-top: 1.25em;
362 | color: rgb(127, 127, 127);
363 | margin-bottom: 0.5em;
364 | }
365 | .BodyStyle h4 {
366 | font-size: 105%;
367 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
368 | margin-top: 1.25em;
369 | margin-bottom: 0.5em;
370 | color: rgb(127, 127, 127);
371 | }
372 | .BodyStyle h5 {
373 | font-size: 95%;
374 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
375 | margin-top: 1.25em;
376 | margin-bottom: 0.5em;
377 | color: rgb(127, 127, 127);
378 | }
379 | .BodyStyle h6 {
380 | font-size: 85%;
381 | font-family: "Univers LT Std", Univers, Arial, Helvetica, sans-serif;
382 | margin-top: 1.25em;
383 | margin-bottom: 0.5em;
384 | color: rgb(127, 127, 127);
385 | }
386 | .BodyStyle table {
387 | font-size:100%;
388 | border-color:#CCC;
389 | width:100%;
390 | border:solid;
391 | border-left:none;
392 | border-right:none;
393 | border-top:none;
394 | border-bottom:medium;
395 | border-width:medium;
396 |
397 | }
398 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/legal/Distribution_ReadME.txt:
--------------------------------------------------------------------------------
1 | DistributionREADME
2 |
3 | DISTRIBUTION BY DEVELOPERS. Subject to the terms and conditions of the Software License Agreement and the obligations, restrictions, and exceptions set forth below, You may reproduce and distribute the portions of Software identified below ("Redistributable"), provided that:
4 |
5 | (a) You distribute Redistributable complete and unmodified and only bundled as part of Your Programs,
6 |
7 | (b) Your Programs add significant and primary functionality to the Redistributable,
8 |
9 | (c) You do not distribute additional software intended to replace any
10 | component(s) of the Redistributable,
11 |
12 | (d) You do not remove or alter any proprietary legends or notices contained in or on the Redistributable.
13 |
14 | (e) You only distribute the Redistributable subject to a license agreement that protects Oracle's interests consistent with the terms contained in this
15 | Agreement, and
16 |
17 | (f) You agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Redistributable.
18 |
19 | The following files are Redistributables:
20 |
21 | Java Card Development Kit 3.0.3
22 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/legal/THIRDPARTYREADME.txt:
--------------------------------------------------------------------------------
1 | DO NOT TRANSLATE OR LOCALIZE
2 |
3 | ***************************************************************************
4 |
5 | %%The following software may be included in this product:
6 | ASM
7 |
8 | Use of any of this software is governed by the terms of the license below:
9 |
10 | Copyright (c) 2000-2005 INRIA, France Telecom
11 | All rights reserved.
12 |
13 | Redistribution and use in source and binary forms, with or without
14 | modification, are permitted provided that the following conditions
15 | are met:
16 |
17 | 1. Redistributions of source code must retain the above copyright
18 | notice, this list of conditions and the following disclaimer.
19 |
20 | 2. Redistributions in binary form must reproduce the above copyright
21 | notice, this list of conditions and the following disclaimer in the
22 | documentation and/or other materials provided with the distribution.
23 |
24 | 3. Neither the name of the copyright holders nor the names of its
25 | contributors may be used to endorse or promote products derived from
26 | this software without specific prior written permission.
27 |
28 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
29 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
32 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
38 | THE POSSIBILITY OF SUCH DAMAGE.
39 |
40 | ***************************************************************************
41 |
42 | %%The following software may be included in this product:
43 | Izpack
44 |
45 | Use of any of this software is governed by the terms of the license below:
46 |
47 | Apache License
48 | Version 2.0, January 2004
49 | http://www.apache.org/licenses/
50 |
51 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
52 |
53 | 1. Definitions.
54 |
55 | "License" shall mean the terms and conditions for use, reproduction, and
56 | distribution as defined by Sections 1 through 9 of this document.
57 |
58 | "Licensor" shall mean the copyright owner or entity authorized by the copyright
59 | owner that is granting the License.
60 |
61 | "Legal Entity" shall mean the union of the acting entity and all other entities
62 | that control, are controlled by, or are under common control with that entity.
63 | For the purposes of this definition, "control" means (i) the power, direct or
64 | indirect, to cause the direction or management of such entity, whether by
65 | contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
66 | outstanding shares, or (iii) beneficial ownership of such entity.
67 |
68 | "You" (or "Your") shall mean an individual or Legal Entity exercising
69 | permissions granted by this License.
70 |
71 | "Source" form shall mean the preferred form for making modifications, including
72 | but not limited to software source code, documentation source, and configuration
73 | files.
74 |
75 | "Object" form shall mean any form resulting from mechanical transformation or
76 | translation of a Source form, including but not limited to compiled object code,
77 | generated documentation, and conversions to other media types.
78 |
79 | "Work" shall mean the work of authorship, whether in Source or Object form, made
80 | available under the License, as indicated by a copyright notice that is included
81 | in or attached to the work (an example is provided in the Appendix below).
82 |
83 | "Derivative Works" shall mean any work, whether in Source or Object form, that
84 | is based on (or derived from) the Work and for which the editorial revisions,
85 | annotations, elaborations, or other modifications represent, as a whole, an
86 | original work of authorship. For the purposes of this License, Derivative Works
87 | shall not include works that remain separable from, or merely link (or bind by
88 | name) to the interfaces of, the Work and Derivative Works thereof.
89 |
90 | "Contribution" shall mean any work of authorship, including the original version
91 | of the Work and any modifications or additions to that Work or Derivative Works
92 | thereof, that is intentionally submitted to Licensor for inclusion in the Work
93 | by the copyright owner or by an individual or Legal Entity authorized to submit
94 | on behalf of the copyright owner. For the purposes of this definition,
95 | "submitted" means any form of electronic, verbal, or written communication sent
96 | to the Licensor or its representatives, including but not limited to
97 | communication on electronic mailing lists, source code control systems, and
98 | issue tracking systems that are managed by, or on behalf of, the Licensor for
99 | the purpose of discussing and improving the Work, but excluding communication
100 | that is conspicuously marked or otherwise designated in writing by the copyright
101 | owner as "Not a Contribution."
102 |
103 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf
104 | of whom a Contribution has been received by Licensor and subsequently
105 | incorporated within the Work.
106 |
107 | 2. Grant of Copyright License. Subject to the terms and conditions of this
108 | License, each Contributor hereby grants to You a perpetual, worldwide,
109 | non-exclusive, no-charge, royalty-free, irrevocable copyright license to
110 | reproduce, prepare Derivative Works of, publicly display, publicly perform,
111 | sublicense, and distribute the Work and such Derivative Works in Source or
112 | Object form.
113 |
114 | 3. Grant of Patent License. Subject to the terms and conditions of this License,
115 | each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
116 | no-charge, royalty-free, irrevocable (except as stated in this section) patent
117 | license to make, have made, use, offer to sell, sell, import, and otherwise
118 | transfer the Work, where such license applies only to those patent claims
119 | licensable by such Contributor that are necessarily infringed by their
120 | Contribution(s) alone or by combination of their Contribution(s) with the Work
121 | to which such Contribution(s) was submitted. If You institute patent litigation
122 | against any entity (including a cross-claim or counterclaim in a lawsuit)
123 | alleging that the Work or a Contribution incorporated within the Work
124 | constitutes direct or contributory patent infringement, then any patent licenses
125 | granted to You under this License for that Work shall terminate as of the date
126 | such litigation is filed.
127 |
128 | 4. Redistribution. You may reproduce and distribute copies of the Work or
129 | Derivative Works thereof in any medium, with or without modifications, and in
130 | Source or Object form, provided that You meet the following conditions:
131 |
132 | 1. You must give any other recipients of the Work or Derivative Works a copy
133 | of this License; and
134 |
135 | 2. You must cause any modified files to carry prominent notices stating that
136 | You changed the files; and
137 |
138 | 3. You must retain, in the Source form of any Derivative Works that You
139 | distribute, all copyright, patent, trademark, and attribution notices from the
140 | Source form of the Work, excluding those notices that do not pertain to any part
141 | of the Derivative Works; and
142 |
143 | 4. If the Work includes a "NOTICE" text file as part of its distribution,
144 | then any Derivative Works that You distribute must include a readable copy of
145 | the attribution notices contained within such NOTICE file, excluding those
146 | notices that do not pertain to any part of the Derivative Works, in at least one
147 | of the following places: within a NOTICE text file distributed as part of the
148 | Derivative Works; within the Source form or documentation, if provided along
149 | with the Derivative Works; or, within a display generated by the Derivative
150 | Works, if and wherever such third-party notices normally appear. The contents of
151 | the NOTICE file are for informational purposes only and do not modify the
152 | License. You may add Your own attribution notices within Derivative Works that
153 | You distribute, alongside or as an addendum to the NOTICE text from the Work,
154 | provided that such additional attribution notices cannot be construed as
155 | modifying the License.
156 |
157 | You may add Your own copyright statement to Your modifications and may provide
158 | additional or different license terms and conditions for use, reproduction, or
159 | distribution of Your modifications, or for any such Derivative Works as a whole,
160 | provided Your use, reproduction, and distribution of the Work otherwise complies
161 | with the conditions stated in this License.
162 |
163 | 5. Submission of Contributions. Unless You explicitly state otherwise, any
164 | Contribution intentionally submitted for inclusion in the Work by You to the
165 | Licensor shall be under the terms and conditions of this License, without any
166 | additional terms or conditions. Notwithstanding the above, nothing herein shall
167 | supersede or modify the terms of any separate license agreement you may have
168 | executed with Licensor regarding such Contributions.
169 |
170 | 6. Trademarks. This License does not grant permission to use the trade names,
171 | trademarks, service marks, or product names of the Licensor, except as required
172 | for reasonable and customary use in describing the origin of the Work and
173 | reproducing the content of the NOTICE file.
174 |
175 | 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
176 | writing, Licensor provides the Work (and each Contributor provides its
177 | Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
178 | KIND, either express or implied, including, without limitation, any warranties
179 | or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
180 | PARTICULAR PURPOSE. You are solely responsible for determining the
181 | appropriateness of using or redistributing the Work and assume any risks
182 | associated with Your exercise of permissions under this License.
183 |
184 | 8. Limitation of Liability. In no event and under no legal theory, whether in
185 | tort (including negligence), contract, or otherwise, unless required by
186 | applicable law (such as deliberate and grossly negligent acts) or agreed to in
187 | writing, shall any Contributor be liable to You for damages, including any
188 | direct, indirect, special, incidental, or consequential damages of any character
189 | arising as a result of this License or out of the use or inability to use the
190 | Work (including but not limited to damages for loss of goodwill, work stoppage,
191 | computer failure or malfunction, or any and all other commercial damages or
192 | losses), even if such Contributor has been advised of the possibility of such
193 | damages.
194 |
195 | 9. Accepting Warranty or Additional Liability. While redistributing the Work or
196 | Derivative Works thereof, You may choose to offer, and charge a fee for,
197 | acceptance of support, warranty, indemnity, or other liability obligations
198 | and/or rights consistent with this License. However, in accepting such
199 | obligations, You may act only on Your own behalf and on Your sole
200 | responsibility, not on behalf of any other Contributor, and only if You agree to
201 | indemnify, defend, and hold each Contributor harmless for any liability incurred
202 | by, or claims asserted against, such Contributor by reason of your accepting any
203 | such warranty or additional liability.
204 |
205 | END OF TERMS AND CONDITIONS
206 |
207 | ***************************************************************************
208 |
209 | %%The following software may be included in this product:
210 | Apache BCEL (Byte Code Engineering Library)
211 |
212 | Use of any of this software is governed by the terms of the license below:
213 |
214 | * Apache License
215 | * Version 2.0, January 2004
216 | * http://www.apache.org/licenses/
217 | *
218 | * TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
219 | *
220 | * 1. Definitions.
221 | *
222 | * "License" shall mean the terms and conditions for use, reproduction,
223 | * and distribution as defined by Sections 1 through 9 of this document.
224 | *
225 | * "Licensor" shall mean the copyright owner or entity authorized by
226 | * the copyright owner that is granting the License.
227 | *
228 | * "Legal Entity" shall mean the union of the acting entity and all
229 | * other entities that control, are controlled by, or are under common
230 | * control with that entity. For the purposes of this definition,
231 | * "control" means (i) the power, direct or indirect, to cause the
232 | * direction or management of such entity, whether by contract or
233 | * otherwise, or (ii) ownership of fifty percent (50%) or more of the
234 | * outstanding shares, or (iii) beneficial ownership of such entity.
235 | *
236 | * "You" (or "Your") shall mean an individual or Legal Entity
237 | * exercising permissions granted by this License.
238 | *
239 | * "Source" form shall mean the preferred form for making modifications,
240 | * including but not limited to software source code, documentation
241 | * source, and configuration files.
242 | *
243 | * "Object" form shall mean any form resulting from mechanical
244 | * transformation or translation of a Source form, including but
245 | * not limited to compiled object code, generated documentation,
246 | * and conversions to other media types.
247 | *
248 | * "Work" shall mean the work of authorship, whether in Source or
249 | * Object form, made available under the License, as indicated by a
250 | * copyright notice that is included in or attached to the work
251 | * (an example is provided in the Appendix below).
252 | *
253 | * "Derivative Works" shall mean any work, whether in Source or Object
254 | * form, that is based on (or derived from) the Work and for which the
255 | * editorial revisions, annotations, elaborations, or other modifications
256 | * represent, as a whole, an original work of authorship. For the purposes
257 | * of this License, Derivative Works shall not include works that remain
258 | * separable from, or merely link (or bind by name) to the interfaces of,
259 | * the Work and Derivative Works thereof.
260 | *
261 | * "Contribution" shall mean any work of authorship, including
262 | * the original version of the Work and any modifications or additions
263 | * to that Work or Derivative Works thereof, that is intentionally
264 | * submitted to Licensor for inclusion in the Work by the copyright owner
265 | * or by an individual or Legal Entity authorized to submit on behalf of
266 | * the copyright owner. For the purposes of this definition, "submitted"
267 | * means any form of electronic, verbal, or written communication sent
268 | * to the Licensor or its representatives, including but not limited to
269 | * communication on electronic mailing lists, source code control systems,
270 | * and issue tracking systems that are managed by, or on behalf of, the
271 | * Licensor for the purpose of discussing and improving the Work, but
272 | * excluding communication that is conspicuously marked or otherwise
273 | * designated in writing by the copyright owner as "Not a Contribution."
274 | *
275 | * "Contributor" shall mean Licensor and any individual or Legal Entity
276 | * on behalf of whom a Contribution has been received by Licensor and
277 | * subsequently incorporated within the Work.
278 | *
279 | * 2. Grant of Copyright License. Subject to the terms and conditions of
280 | * this License, each Contributor hereby grants to You a perpetual,
281 | * worldwide, non-exclusive, no-charge, royalty-free, irrevocable
282 | * copyright license to reproduce, prepare Derivative Works of,
283 | * publicly display, publicly perform, sublicense, and distribute the
284 | * Work and such Derivative Works in Source or Object form.
285 | *
286 | * 3. Grant of Patent License. Subject to the terms and conditions of
287 | * this License, each Contributor hereby grants to You a perpetual,
288 | * worldwide, non-exclusive, no-charge, royalty-free, irrevocable
289 | * (except as stated in this section) patent license to make, have made,
290 | * use, offer to sell, sell, import, and otherwise transfer the Work,
291 | * where such license applies only to those patent claims licensable
292 | * by such Contributor that are necessarily infringed by their
293 | * Contribution(s) alone or by combination of their Contribution(s)
294 | * with the Work to which such Contribution(s) was submitted. If You
295 | * institute patent litigation against any entity (including a
296 | * cross-claim or counterclaim in a lawsuit) alleging that the Work
297 | * or a Contribution incorporated within the Work constitutes direct
298 | * or contributory patent infringement, then any patent licenses
299 | * granted to You under this License for that Work shall terminate
300 | * as of the date such litigation is filed.
301 | *
302 | * 4. Redistribution. You may reproduce and distribute copies of the
303 | * Work or Derivative Works thereof in any medium, with or without
304 | * modifications, and in Source or Object form, provided that You
305 | * meet the following conditions:
306 | *
307 | * (a) You must give any other recipients of the Work or
308 | * Derivative Works a copy of this License; and
309 | *
310 | * (b) You must cause any modified files to carry prominent notices
311 | * stating that You changed the files; and
312 | *
313 | * (c) You must retain, in the Source form of any Derivative Works
314 | * that You distribute, all copyright, patent, trademark, and
315 | * attribution notices from the Source form of the Work,
316 | * excluding those notices that do not pertain to any part of
317 | * the Derivative Works; and
318 | *
319 | * (d) If the Work includes a "NOTICE" text file as part of its
320 | * distribution, then any Derivative Works that You distribute must
321 | * include a readable copy of the attribution notices contained
322 | * within such NOTICE file, excluding those notices that do not
323 | * pertain to any part of the Derivative Works, in at least one
324 | * of the following places: within a NOTICE text file distributed
325 | * as part of the Derivative Works; within the Source form or
326 | * documentation, if provided along with the Derivative Works; or,
327 | * within a display generated by the Derivative Works, if and
328 | * wherever such third-party notices normally appear. The contents
329 | * of the NOTICE file are for informational purposes only and
330 | * do not modify the License. You may add Your own attribution
331 | * notices within Derivative Works that You distribute, alongside
332 | * or as an addendum to the NOTICE text from the Work, provided
333 | * that such additional attribution notices cannot be construed
334 | * as modifying the License.
335 | *
336 | * You may add Your own copyright statement to Your modifications and
337 | * may provide additional or different license terms and conditions
338 | * for use, reproduction, or distribution of Your modifications, or
339 | * for any such Derivative Works as a whole, provided Your use,
340 | * reproduction, and distribution of the Work otherwise complies with
341 | * the conditions stated in this License.
342 | *
343 | * 5. Submission of Contributions. Unless You explicitly state otherwise,
344 | * any Contribution intentionally submitted for inclusion in the Work
345 | * by You to the Licensor shall be under the terms and conditions of
346 | * this License, without any additional terms or conditions.
347 | * Notwithstanding the above, nothing herein shall supersede or modify
348 | * the terms of any separate license agreement you may have executed
349 | * with Licensor regarding such Contributions.
350 | *
351 | * 6. Trademarks. This License does not grant permission to use the trade
352 | * names, trademarks, service marks, or product names of the Licensor,
353 | * except as required for reasonable and customary use in describing the
354 | * origin of the Work and reproducing the content of the NOTICE file.
355 | *
356 | * 7. Disclaimer of Warranty. Unless required by applicable law or
357 | * agreed to in writing, Licensor provides the Work (and each
358 | * Contributor provides its Contributions) on an "AS IS" BASIS,
359 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
360 | * implied, including, without limitation, any warranties or conditions
361 | * of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
362 | * PARTICULAR PURPOSE. You are solely responsible for determining the
363 | * appropriateness of using or redistributing the Work and assume any
364 | * risks associated with Your exercise of permissions under this License.
365 | *
366 | * 8. Limitation of Liability. In no event and under no legal theory,
367 | * whether in tort (including negligence), contract, or otherwise,
368 | * unless required by applicable law (such as deliberate and grossly
369 | * negligent acts) or agreed to in writing, shall any Contributor be
370 | * liable to You for damages, including any direct, indirect, special,
371 | * incidental, or consequential damages of any character arising as a
372 | * result of this License or out of the use or inability to use the
373 | * Work (including but not limited to damages for loss of goodwill,
374 | * work stoppage, computer failure or malfunction, or any and all
375 | * other commercial damages or losses), even if such Contributor
376 | * has been advised of the possibility of such damages.
377 | *
378 | * 9. Accepting Warranty or Additional Liability. While redistributing
379 | * the Work or Derivative Works thereof, You may choose to offer,
380 | * and charge a fee for, acceptance of support, warranty, indemnity,
381 | * or other liability obligations and/or rights consistent with this
382 | * License. However, in accepting such obligations, You may act only
383 | * on Your own behalf and on Your sole responsibility, not on behalf
384 | * of any other Contributor, and only if You agree to indemnify,
385 | * defend, and hold each Contributor harmless for any liability
386 | * incurred by, or claims asserted against, such Contributor by reason
387 | * of your accepting any such warranty or additional liability.
388 | *
389 | * END OF TERMS AND CONDITIONS
390 | *
391 | * APPENDIX: How to apply the Apache License to your work.
392 | *
393 | * To apply the Apache License to your work, attach the following
394 | * boilerplate notice, with the fields enclosed by brackets "[]"
395 | * replaced with your own identifying information. (Don't include
396 | * the brackets!) The text should be enclosed in the appropriate
397 | * comment syntax for the file format. We also recommend that a
398 | * file or class name and description of purpose be included on the
399 | * same "printed page" as the copyright notice for easier
400 | * identification within third-party archives.
401 | *
402 | * Copyright [yyyy] [name of copyright owner]
403 | *
404 | * Licensed under the Apache License, Version 2.0 (the "License");
405 | * you may not use this file except in compliance with the License.
406 | * You may obtain a copy of the License at
407 | *
408 | * http://www.apache.org/licenses/LICENSE-2.0
409 | *
410 | * Unless required by applicable law or agreed to in writing, software
411 | * distributed under the License is distributed on an "AS IS" BASIS,
412 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
413 | * See the License for the specific language governing permissions and
414 | * limitations under the License.
415 | */
416 |
417 | ***************************************************************************
418 |
419 | %%The following software may be included in this product:
420 | Jetty HTTP Server
421 |
422 | Use of any of this software is governed by the terms of the license below:
423 |
424 | Apache License
425 | Version 2.0, January 2004
426 | http://www.apache.org/licenses/
427 |
428 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
429 |
430 | 1. Definitions.
431 |
432 | "License" shall mean the terms and conditions for use, reproduction,
433 | and distribution as defined by Sections 1 through 9 of this document.
434 |
435 | "Licensor" shall mean the copyright owner or entity authorized by
436 | the copyright owner that is granting the License.
437 |
438 | "Legal Entity" shall mean the union of the acting entity and all
439 | other entities that control, are controlled by, or are under common
440 | control with that entity. For the purposes of this definition,
441 | "control" means (i) the power, direct or indirect, to cause the
442 | direction or management of such entity, whether by contract or
443 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
444 | outstanding shares, or (iii) beneficial ownership of such entity.
445 |
446 | "You" (or "Your") shall mean an individual or Legal Entity
447 | exercising permissions granted by this License.
448 |
449 | "Source" form shall mean the preferred form for making modifications,
450 | including but not limited to software source code, documentation
451 | source, and configuration files.
452 |
453 | "Object" form shall mean any form resulting from mechanical
454 | transformation or translation of a Source form, including but
455 | not limited to compiled object code, generated documentation,
456 | and conversions to other media types.
457 |
458 | "Work" shall mean the work of authorship, whether in Source or
459 | Object form, made available under the License, as indicated by a
460 | copyright notice that is included in or attached to the work
461 | (an example is provided in the Appendix below).
462 |
463 | "Derivative Works" shall mean any work, whether in Source or Object
464 | form, that is based on (or derived from) the Work and for which the
465 | editorial revisions, annotations, elaborations, or other modifications
466 | represent, as a whole, an original work of authorship. For the purposes
467 | of this License, Derivative Works shall not include works that remain
468 | separable from, or merely link (or bind by name) to the interfaces of,
469 | the Work and Derivative Works thereof.
470 |
471 | "Contribution" shall mean any work of authorship, including
472 | the original version of the Work and any modifications or additions
473 | to that Work or Derivative Works thereof, that is intentionally
474 | submitted to Licensor for inclusion in the Work by the copyright owner
475 | or by an individual or Legal Entity authorized to submit on behalf of
476 | the copyright owner. For the purposes of this definition, "submitted"
477 | means any form of electronic, verbal, or written communication sent
478 | to the Licensor or its representatives, including but not limited to
479 | communication on electronic mailing lists, source code control systems,
480 | and issue tracking systems that are managed by, or on behalf of, the
481 | Licensor for the purpose of discussing and improving the Work, but
482 | excluding communication that is conspicuously marked or otherwise
483 | designated in writing by the copyright owner as "Not a Contribution."
484 |
485 | "Contributor" shall mean Licensor and any individual or Legal Entity
486 | on behalf of whom a Contribution has been received by Licensor and
487 | subsequently incorporated within the Work.
488 |
489 | 2. Grant of Copyright License. Subject to the terms and conditions of
490 | this License, each Contributor hereby grants to You a perpetual,
491 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
492 | copyright license to reproduce, prepare Derivative Works of,
493 | publicly display, publicly perform, sublicense, and distribute the
494 | Work and such Derivative Works in Source or Object form.
495 |
496 | 3. Grant of Patent License. Subject to the terms and conditions of
497 | this License, each Contributor hereby grants to You a perpetual,
498 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
499 | (except as stated in this section) patent license to make, have made,
500 | use, offer to sell, sell, import, and otherwise transfer the Work,
501 | where such license applies only to those patent claims licensable
502 | by such Contributor that are necessarily infringed by their
503 | Contribution(s) alone or by combination of their Contribution(s)
504 | with the Work to which such Contribution(s) was submitted. If You
505 | institute patent litigation against any entity (including a
506 | cross-claim or counterclaim in a lawsuit) alleging that the Work
507 | or a Contribution incorporated within the Work constitutes direct
508 | or contributory patent infringement, then any patent licenses
509 | granted to You under this License for that Work shall terminate
510 | as of the date such litigation is filed.
511 |
512 | 4. Redistribution. You may reproduce and distribute copies of the
513 | Work or Derivative Works thereof in any medium, with or without
514 | modifications, and in Source or Object form, provided that You
515 | meet the following conditions:
516 |
517 | (a) You must give any other recipients of the Work or
518 | Derivative Works a copy of this License; and
519 |
520 | (b) You must cause any modified files to carry prominent notices
521 | stating that You changed the files; and
522 |
523 | (c) You must retain, in the Source form of any Derivative Works
524 | that You distribute, all copyright, patent, trademark, and
525 | attribution notices from the Source form of the Work,
526 | excluding those notices that do not pertain to any part of
527 | the Derivative Works; and
528 |
529 | (d) If the Work includes a "NOTICE" text file as part of its
530 | distribution, then any Derivative Works that You distribute must
531 | include a readable copy of the attribution notices contained
532 | within such NOTICE file, excluding those notices that do not
533 | pertain to any part of the Derivative Works, in at least one
534 | of the following places: within a NOTICE text file distributed
535 | as part of the Derivative Works; within the Source form or
536 | documentation, if provided along with the Derivative Works; or,
537 | within a display generated by the Derivative Works, if and
538 | wherever such third-party notices normally appear. The contents
539 | of the NOTICE file are for informational purposes only and
540 | do not modify the License. You may add Your own attribution
541 | notices within Derivative Works that You distribute, alongside
542 | or as an addendum to the NOTICE text from the Work, provided
543 | that such additional attribution notices cannot be construed
544 | as modifying the License.
545 |
546 | You may add Your own copyright statement to Your modifications and
547 | may provide additional or different license terms and conditions
548 | for use, reproduction, or distribution of Your modifications, or
549 | for any such Derivative Works as a whole, provided Your use,
550 | reproduction, and distribution of the Work otherwise complies with
551 | the conditions stated in this License.
552 |
553 | 5. Submission of Contributions. Unless You explicitly state otherwise,
554 | any Contribution intentionally submitted for inclusion in the Work
555 | by You to the Licensor shall be under the terms and conditions of
556 | this License, without any additional terms or conditions.
557 | Notwithstanding the above, nothing herein shall supersede or modify
558 | the terms of any separate license agreement you may have executed
559 | with Licensor regarding such Contributions.
560 |
561 | 6. Trademarks. This License does not grant permission to use the trade
562 | names, trademarks, service marks, or product names of the Licensor,
563 | except as required for reasonable and customary use in describing the
564 | origin of the Work and reproducing the content of the NOTICE file.
565 |
566 | 7. Disclaimer of Warranty. Unless required by applicable law or
567 | agreed to in writing, Licensor provides the Work (and each
568 | Contributor provides its Contributions) on an "AS IS" BASIS,
569 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
570 | implied, including, without limitation, any warranties or conditions
571 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
572 | PARTICULAR PURPOSE. You are solely responsible for determining the
573 | appropriateness of using or redistributing the Work and assume any
574 | risks associated with Your exercise of permissions under this License.
575 |
576 | 8. Limitation of Liability. In no event and under no legal theory,
577 | whether in tort (including negligence), contract, or otherwise,
578 | unless required by applicable law (such as deliberate and grossly
579 | negligent acts) or agreed to in writing, shall any Contributor be
580 | liable to You for damages, including any direct, indirect, special,
581 | incidental, or consequential damages of any character arising as a
582 | result of this License or out of the use or inability to use the
583 | Work (including but not limited to damages for loss of goodwill,
584 | work stoppage, computer failure or malfunction, or any and all
585 | other commercial damages or losses), even if such Contributor
586 | has been advised of the possibility of such damages.
587 |
588 | 9. Accepting Warranty or Additional Liability. While redistributing
589 | the Work or Derivative Works thereof, You may choose to offer,
590 | and charge a fee for, acceptance of support, warranty, indemnity,
591 | or other liability obligations and/or rights consistent with this
592 | License. However, in accepting such obligations, You may act only
593 | on Your own behalf and on Your sole responsibility, not on behalf
594 | of any other Contributor, and only if You agree to indemnify,
595 | defend, and hold each Contributor harmless for any liability
596 | incurred by, or claims asserted against, such Contributor by reason
597 | of your accepting any such warranty or additional liability.
598 |
599 | END OF TERMS AND CONDITIONS
600 |
601 | APPENDIX: How to apply the Apache License to your work.
602 |
603 | To apply the Apache License to your work, attach the following
604 | boilerplate notice, with the fields enclosed by brackets "[]"
605 | replaced with your own identifying information. (Don't include
606 | the brackets!) The text should be enclosed in the appropriate
607 | comment syntax for the file format. We also recommend that a
608 | file or class name and description of purpose be included on the
609 | same "printed page" as the copyright notice for easier
610 | identification within third-party archives.
611 |
612 | Copyright [yyyy] [name of copyright owner]
613 |
614 | Licensed under the Apache License, Version 2.0 (the "License");
615 | you may not use this file except in compliance with the License.
616 | You may obtain a copy of the License at
617 |
618 | http://www.apache.org/licenses/LICENSE-2.0
619 |
620 | Unless required by applicable law or agreed to in writing, software
621 | distributed under the License is distributed on an "AS IS" BASIS,
622 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
623 | See the License for the specific language governing permissions and
624 | limitations under the License.
625 |
626 | Additional License(s)
627 |
628 | All source files carry one of three copyrights:
629 |
630 | Copyright (c) 1999 The Apache Software Foundation. All rights reserved.
631 | Copyright (c) 1996 Mort Bay Consulting Pty. Ltd. All rights reserved.
632 | Copyright (c) 1996 Optimus Solutions Pty. Ltd. All rights reserved.
633 |
634 | One file is under the LGPL. This appears to be an oversight and it's
635 | in an optional "extras"
636 | component that we don't ship.
637 |
638 | ***************************************************************************
639 |
640 | %%The following software may be included in this product:
641 | Apache Jakarta Commons
642 |
643 | Use of any of this software is governed by the terms of the license below:
644 |
645 | Apache License
646 | Version 2.0, January 2004
647 | http://www.apache.org/licenses/
648 |
649 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
650 |
651 | 1. Definitions.
652 |
653 | "License" shall mean the terms and conditions for use, reproduction,
654 | and distribution as defined by Sections 1 through 9 of this document.
655 |
656 | "Licensor" shall mean the copyright owner or entity authorized by
657 | the copyright owner that is granting the License.
658 |
659 | "Legal Entity" shall mean the union of the acting entity and all
660 | other entities that control, are controlled by, or are under common
661 | control with that entity. For the purposes of this definition,
662 | "control" means (i) the power, direct or indirect, to cause the
663 | direction or management of such entity, whether by contract or
664 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
665 | outstanding shares, or (iii) beneficial ownership of such entity.
666 |
667 | "You" (or "Your") shall mean an individual or Legal Entity
668 | exercising permissions granted by this License.
669 |
670 | "Source" form shall mean the preferred form for making modifications,
671 | including but not limited to software source code, documentation
672 | source, and configuration files.
673 |
674 | "Object" form shall mean any form resulting from mechanical
675 | transformation or translation of a Source form, including but
676 | not limited to compiled object code, generated documentation,
677 | and conversions to other media types.
678 |
679 | "Work" shall mean the work of authorship, whether in Source or
680 | Object form, made available under the License, as indicated by a
681 | copyright notice that is included in or attached to the work
682 | (an example is provided in the Appendix below).
683 |
684 | "Derivative Works" shall mean any work, whether in Source or Object
685 | form, that is based on (or derived from) the Work and for which the
686 | editorial revisions, annotations, elaborations, or other modifications
687 | represent, as a whole, an original work of authorship. For the purposes
688 | of this License, Derivative Works shall not include works that remain
689 | separable from, or merely link (or bind by name) to the interfaces of,
690 | the Work and Derivative Works thereof.
691 |
692 | "Contribution" shall mean any work of authorship, including
693 | the original version of the Work and any modifications or additions
694 | to that Work or Derivative Works thereof, that is intentionally
695 | submitted to Licensor for inclusion in the Work by the copyright owner
696 | or by an individual or Legal Entity authorized to submit on behalf of
697 | the copyright owner. For the purposes of this definition, "submitted"
698 | means any form of electronic, verbal, or written communication sent
699 | to the Licensor or its representatives, including but not limited to
700 | communication on electronic mailing lists, source code control systems,
701 | and issue tracking systems that are managed by, or on behalf of, the
702 | Licensor for the purpose of discussing and improving the Work, but
703 | excluding communication that is conspicuously marked or otherwise
704 | designated in writing by the copyright owner as "Not a Contribution."
705 |
706 | "Contributor" shall mean Licensor and any individual or Legal Entity
707 | on behalf of whom a Contribution has been received by Licensor and
708 | subsequently incorporated within the Work.
709 |
710 | 2. Grant of Copyright License. Subject to the terms and conditions of
711 | this License, each Contributor hereby grants to You a perpetual,
712 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
713 | copyright license to reproduce, prepare Derivative Works of,
714 | publicly display, publicly perform, sublicense, and distribute the
715 | Work and such Derivative Works in Source or Object form.
716 |
717 | 3. Grant of Patent License. Subject to the terms and conditions of
718 | this License, each Contributor hereby grants to You a perpetual,
719 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
720 | (except as stated in this section) patent license to make, have made,
721 | use, offer to sell, sell, import, and otherwise transfer the Work,
722 | where such license applies only to those patent claims licensable
723 | by such Contributor that are necessarily infringed by their
724 | Contribution(s) alone or by combination of their Contribution(s)
725 | with the Work to which such Contribution(s) was submitted. If You
726 | institute patent litigation against any entity (including a
727 | cross-claim or counterclaim in a lawsuit) alleging that the Work
728 | or a Contribution incorporated within the Work constitutes direct
729 | or contributory patent infringement, then any patent licenses
730 | granted to You under this License for that Work shall terminate
731 | as of the date such litigation is filed.
732 |
733 | 4. Redistribution. You may reproduce and distribute copies of the
734 | Work or Derivative Works thereof in any medium, with or without
735 | modifications, and in Source or Object form, provided that You
736 | meet the following conditions:
737 |
738 | (a) You must give any other recipients of the Work or
739 | Derivative Works a copy of this License; and
740 |
741 | (b) You must cause any modified files to carry prominent notices
742 | stating that You changed the files; and
743 |
744 | (c) You must retain, in the Source form of any Derivative Works
745 | that You distribute, all copyright, patent, trademark, and
746 | attribution notices from the Source form of the Work,
747 | excluding those notices that do not pertain to any part of
748 | the Derivative Works; and
749 |
750 | (d) If the Work includes a "NOTICE" text file as part of its
751 | distribution, then any Derivative Works that You distribute must
752 | include a readable copy of the attribution notices contained
753 | within such NOTICE file, excluding those notices that do not
754 | pertain to any part of the Derivative Works, in at least one
755 | of the following places: within a NOTICE text file distributed
756 | as part of the Derivative Works; within the Source form or
757 | documentation, if provided along with the Derivative Works; or,
758 | within a display generated by the Derivative Works, if and
759 | wherever such third-party notices normally appear. The contents
760 | of the NOTICE file are for informational purposes only and
761 | do not modify the License. You may add Your own attribution
762 | notices within Derivative Works that You distribute, alongside
763 | or as an addendum to the NOTICE text from the Work, provided
764 | that such additional attribution notices cannot be construed
765 | as modifying the License.
766 |
767 | You may add Your own copyright statement to Your modifications and
768 | may provide additional or different license terms and conditions
769 | for use, reproduction, or distribution of Your modifications, or
770 | for any such Derivative Works as a whole, provided Your use,
771 | reproduction, and distribution of the Work otherwise complies with
772 | the conditions stated in this License.
773 |
774 | 5. Submission of Contributions. Unless You explicitly state otherwise,
775 | any Contribution intentionally submitted for inclusion in the Work
776 | by You to the Licensor shall be under the terms and conditions of
777 | this License, without any additional terms or conditions.
778 | Notwithstanding the above, nothing herein shall supersede or modify
779 | the terms of any separate license agreement you may have executed
780 | with Licensor regarding such Contributions.
781 |
782 | 6. Trademarks. This License does not grant permission to use the trade
783 | names, trademarks, service marks, or product names of the Licensor,
784 | except as required for reasonable and customary use in describing the
785 | origin of the Work and reproducing the content of the NOTICE file.
786 |
787 | 7. Disclaimer of Warranty. Unless required by applicable law or
788 | agreed to in writing, Licensor provides the Work (and each
789 | Contributor provides its Contributions) on an "AS IS" BASIS,
790 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
791 | implied, including, without limitation, any warranties or conditions
792 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
793 | PARTICULAR PURPOSE. You are solely responsible for determining the
794 | appropriateness of using or redistributing the Work and assume any
795 | risks associated with Your exercise of permissions under this License.
796 |
797 | 8. Limitation of Liability. In no event and under no legal theory,
798 | whether in tort (including negligence), contract, or otherwise,
799 | unless required by applicable law (such as deliberate and grossly
800 | negligent acts) or agreed to in writing, shall any Contributor be
801 | liable to You for damages, including any direct, indirect, special,
802 | incidental, or consequential damages of any character arising as a
803 | result of this License or out of the use or inability to use the
804 | Work (including but not limited to damages for loss of goodwill,
805 | work stoppage, computer failure or malfunction, or any and all
806 | other commercial damages or losses), even if such Contributor
807 | has been advised of the possibility of such damages.
808 |
809 | 9. Accepting Warranty or Additional Liability. While redistributing
810 | the Work or Derivative Works thereof, You may choose to offer,
811 | and charge a fee for, acceptance of support, warranty, indemnity,
812 | or other liability obligations and/or rights consistent with this
813 | License. However, in accepting such obligations, You may act only
814 | on Your own behalf and on Your sole responsibility, not on behalf
815 | of any other Contributor, and only if You agree to indemnify,
816 | defend, and hold each Contributor harmless for any liability
817 | incurred by, or claims asserted against, such Contributor by reason
818 | of your accepting any such warranty or additional liability.
819 |
820 | END OF TERMS AND CONDITIONS
821 |
822 | APPENDIX: How to apply the Apache License to your work.
823 |
824 | To apply the Apache License to your work, attach the following
825 | boilerplate notice, with the fields enclosed by brackets "[]"
826 | replaced with your own identifying information. (Don't include
827 | the brackets!) The text should be enclosed in the appropriate
828 | comment syntax for the file format. We also recommend that a
829 | file or class name and description of purpose be included on the
830 | same "printed page" as the copyright notice for easier
831 | identification within third-party archives.
832 |
833 | Copyright [yyyy] [name of copyright owner]
834 |
835 | Licensed under the Apache License, Version 2.0 (the "License");
836 | you may not use this file except in compliance with the License.
837 | You may obtain a copy of the License at
838 |
839 | http://www.apache.org/licenses/LICENSE-2.0
840 |
841 | Unless required by applicable law or agreed to in writing, software
842 | distributed under the License is distributed on an "AS IS" BASIS,
843 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
844 | See the License for the specific language governing permissions and
845 | limitations under the License.
846 |
847 | ***************************************************************************
848 |
849 | %%The following software may be included in this product:
850 | Ant
851 |
852 | Use of any of this software is governed by the terms of the license below:
853 |
854 | License
855 | The Apache Software License Version 2.0
856 |
857 | The Apache Software License Version 2.0 applies to all releases of Ant starting
858 | with ant 1.6.1
859 |
860 | /*
861 | * Apache License
862 | * Version 2.0, January 2004
863 | * http://www.apache.org/licenses/
864 | *
865 | * TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
866 | *
867 | * 1. Definitions.
868 | *
869 | * "License" shall mean the terms and conditions for use, reproduction,
870 | * and distribution as defined by Sections 1 through 9 of this document.
871 | *
872 | * "Licensor" shall mean the copyright owner or entity authorized by
873 | * the copyright owner that is granting the License.
874 | *
875 | * "Legal Entity" shall mean the union of the acting entity and all
876 | * other entities that control, are controlled by, or are under common
877 | * control with that entity. For the purposes of this definition,
878 | * "control" means (i) the power, direct or indirect, to cause the
879 | * direction or management of such entity, whether by contract or
880 | * otherwise, or (ii) ownership of fifty percent (50%) or more of the
881 | * outstanding shares, or (iii) beneficial ownership of such entity.
882 | *
883 | * "You" (or "Your") shall mean an individual or Legal Entity
884 | * exercising permissions granted by this License.
885 | *
886 | * "Source" form shall mean the preferred form for making modifications,
887 | * including but not limited to software source code, documentation
888 | * source, and configuration files.
889 | *
890 | * "Object" form shall mean any form resulting from mechanical
891 | * transformation or translation of a Source form, including but
892 | * not limited to compiled object code, generated documentation,
893 | * and conversions to other media types.
894 | *
895 | * "Work" shall mean the work of authorship, whether in Source or
896 | * Object form, made available under the License, as indicated by a
897 | * copyright notice that is included in or attached to the work
898 | * (an example is provided in the Appendix below).
899 | *
900 | * "Derivative Works" shall mean any work, whether in Source or Object
901 | * form, that is based on (or derived from) the Work and for which the
902 | * editorial revisions, annotations, elaborations, or other modifications
903 | * represent, as a whole, an original work of authorship. For the purposes
904 | * of this License, Derivative Works shall not include works that remain
905 | * separable from, or merely link (or bind by name) to the interfaces of,
906 | * the Work and Derivative Works thereof.
907 | *
908 | * "Contribution" shall mean any work of authorship, including
909 | * the original version of the Work and any modifications or additions
910 | * to that Work or Derivative Works thereof, that is intentionally
911 | * submitted to Licensor for inclusion in the Work by the copyright owner
912 | * or by an individual or Legal Entity authorized to submit on behalf of
913 | * the copyright owner. For the purposes of this definition, "submitted"
914 | * means any form of electronic, verbal, or written communication sent
915 | * to the Licensor or its representatives, including but not limited to
916 | * communication on electronic mailing lists, source code control systems,
917 | * and issue tracking systems that are managed by, or on behalf of, the
918 | * Licensor for the purpose of discussing and improving the Work, but
919 | * excluding communication that is conspicuously marked or otherwise
920 | * designated in writing by the copyright owner as "Not a Contribution."
921 | *
922 | * "Contributor" shall mean Licensor and any individual or Legal Entity
923 | * on behalf of whom a Contribution has been received by Licensor and
924 | * subsequently incorporated within the Work.
925 | *
926 | * 2. Grant of Copyright License. Subject to the terms and conditions of
927 | * this License, each Contributor hereby grants to You a perpetual,
928 | * worldwide, non-exclusive, no-charge, royalty-free, irrevocable
929 | * copyright license to reproduce, prepare Derivative Works of,
930 | * publicly display, publicly perform, sublicense, and distribute the
931 | * Work and such Derivative Works in Source or Object form.
932 | *
933 | * 3. Grant of Patent License. Subject to the terms and conditions of
934 | * this License, each Contributor hereby grants to You a perpetual,
935 | * worldwide, non-exclusive, no-charge, royalty-free, irrevocable
936 | * (except as stated in this section) patent license to make, have made,
937 | * use, offer to sell, sell, import, and otherwise transfer the Work,
938 | * where such license applies only to those patent claims licensable
939 | * by such Contributor that are necessarily infringed by their
940 | * Contribution(s) alone or by combination of their Contribution(s)
941 | * with the Work to which such Contribution(s) was submitted. If You
942 | * institute patent litigation against any entity (including a
943 | * cross-claim or counterclaim in a lawsuit) alleging that the Work
944 | * or a Contribution incorporated within the Work constitutes direct
945 | * or contributory patent infringement, then any patent licenses
946 | * granted to You under this License for that Work shall terminate
947 | * as of the date such litigation is filed.
948 | *
949 | * 4. Redistribution. You may reproduce and distribute copies of the
950 | * Work or Derivative Works thereof in any medium, with or without
951 | * modifications, and in Source or Object form, provided that You
952 | * meet the following conditions:
953 | *
954 | * (a) You must give any other recipients of the Work or
955 | * Derivative Works a copy of this License; and
956 | *
957 | * (b) You must cause any modified files to carry prominent notices
958 | * stating that You changed the files; and
959 | *
960 | * (c) You must retain, in the Source form of any Derivative Works
961 | * that You distribute, all copyright, patent, trademark, and
962 | * attribution notices from the Source form of the Work,
963 | * excluding those notices that do not pertain to any part of
964 | * the Derivative Works; and
965 | *
966 | * (d) If the Work includes a "NOTICE" text file as part of its
967 | * distribution, then any Derivative Works that You distribute must
968 | * include a readable copy of the attribution notices contained
969 | * within such NOTICE file, excluding those notices that do not
970 | * pertain to any part of the Derivative Works, in at least one
971 | * of the following places: within a NOTICE text file distributed
972 | * as part of the Derivative Works; within the Source form or
973 | * documentation, if provided along with the Derivative Works; or,
974 | * within a display generated by the Derivative Works, if and
975 | * wherever such third-party notices normally appear. The contents
976 | * of the NOTICE file are for informational purposes only and
977 | * do not modify the License. You may add Your own attribution
978 | * notices within Derivative Works that You distribute, alongside
979 | * or as an addendum to the NOTICE text from the Work, provided
980 | * that such additional attribution notices cannot be construed
981 | * as modifying the License.
982 | *
983 | * You may add Your own copyright statement to Your modifications and
984 | * may provide additional or different license terms and conditions
985 | * for use, reproduction, or distribution of Your modifications, or
986 | * for any such Derivative Works as a whole, provided Your use,
987 | * reproduction, and distribution of the Work otherwise complies with
988 | * the conditions stated in this License.
989 | *
990 | * 5. Submission of Contributions. Unless You explicitly state otherwise,
991 | * any Contribution intentionally submitted for inclusion in the Work
992 | * by You to the Licensor shall be under the terms and conditions of
993 | * this License, without any additional terms or conditions.
994 | * Notwithstanding the above, nothing herein shall supersede or modify
995 | * the terms of any separate license agreement you may have executed
996 | * with Licensor regarding such Contributions.
997 | *
998 | * 6. Trademarks. This License does not grant permission to use the trade
999 | * names, trademarks, service marks, or product names of the Licensor,
1000 | * except as required for reasonable and customary use in describing the
1001 | * origin of the Work and reproducing the content of the NOTICE file.
1002 | *
1003 | * 7. Disclaimer of Warranty. Unless required by applicable law or
1004 | * agreed to in writing, Licensor provides the Work (and each
1005 | * Contributor provides its Contributions) on an "AS IS" BASIS,
1006 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1007 | * implied, including, without limitation, any warranties or conditions
1008 | * of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
1009 | * PARTICULAR PURPOSE. You are solely responsible for determining the
1010 | * appropriateness of using or redistributing the Work and assume any
1011 | * risks associated with Your exercise of permissions under this License.
1012 | *
1013 | * 8. Limitation of Liability. In no event and under no legal theory,
1014 | * whether in tort (including negligence), contract, or otherwise,
1015 | * unless required by applicable law (such as deliberate and grossly
1016 | * negligent acts) or agreed to in writing, shall any Contributor be
1017 | * liable to You for damages, including any direct, indirect, special,
1018 | * incidental, or consequential damages of any character arising as a
1019 | * result of this License or out of the use or inability to use the
1020 | * Work (including but not limited to damages for loss of goodwill,
1021 | * work stoppage, computer failure or malfunction, or any and all
1022 | * other commercial damages or losses), even if such Contributor
1023 | * has been advised of the possibility of such damages.
1024 | *
1025 | * 9. Accepting Warranty or Additional Liability. While redistributing
1026 | * the Work or Derivative Works thereof, You may choose to offer,
1027 | * and charge a fee for, acceptance of support, warranty, indemnity,
1028 | * or other liability obligations and/or rights consistent with this
1029 | * License. However, in accepting such obligations, You may act only
1030 | * on Your own behalf and on Your sole responsibility, not on behalf
1031 | * of any other Contributor, and only if You agree to indemnify,
1032 | * defend, and hold each Contributor harmless for any liability
1033 | * incurred by, or claims asserted against, such Contributor by reason
1034 | * of your accepting any such warranty or additional liability.
1035 | *
1036 | * END OF TERMS AND CONDITIONS
1037 | *
1038 | * APPENDIX: How to apply the Apache License to your work.
1039 | *
1040 | * To apply the Apache License to your work, attach the following
1041 | * boilerplate notice, with the fields enclosed by brackets "[]"
1042 | * replaced with your own identifying information. (Don't include
1043 | * the brackets!) The text should be enclosed in the appropriate
1044 | * comment syntax for the file format. We also recommend that a
1045 | * file or class name and description of purpose be included on the
1046 | * same "printed page" as the copyright notice for easier
1047 | * identification within third-party archives.
1048 | *
1049 | * Copyright [yyyy] Apache Software Foundation
1050 | *
1051 | * Licensed under the Apache License, Version 2.0 (the "License");
1052 | * you may not use this file except in compliance with the License.
1053 | * You may obtain a copy of the License at
1054 | *
1055 | * http://www.apache.org/licenses/LICENSE-2.0
1056 | *
1057 | * Unless required by applicable law or agreed to in writing, software
1058 | * distributed under the License is distributed on an "AS IS" BASIS,
1059 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1060 | * See the License for the specific language governing permissions and
1061 | * limitations under the License.
1062 | */
1063 |
1064 |
1065 | You can download the original license file here.
1066 |
1067 | The License is accompanied by a NOTICE
1068 |
1069 | =========================================================================
1070 | == NOTICE file corresponding to the section 4 d of ==
1071 | == the Apache License, Version 2.0, ==
1072 | == in this case for the Apache Ant distribution. ==
1073 | =========================================================================
1074 |
1075 | This product includes software developed by
1076 | The Apache Software Foundation (http://www.apache.org/).
1077 |
1078 | This product includes also software developed by :
1079 | - the W3C consortium (http://www.w3c.org) ,
1080 | - the SAX project (http://www.saxproject.org)
1081 |
1082 | Please read the different LICENSE files present in the root directory of
1083 | this distribution.
1084 |
1085 | The names "Ant" and "Apache Software Foundation" must not be used to
1086 | endorse or promote products derived from this software without prior
1087 | written permission. For written permission, please contact
1088 | apache@apache.org.
1089 |
1090 | The Apache Software License, Version 1.1
1091 |
1092 | The Apache Software License, Version 1.1, applies to all versions of up to ant
1093 | 1.6.0 included.
1094 |
1095 | /*
1096 | * ============================================================================
1097 | * The Apache Software License, Version 1.1
1098 | * ============================================================================
1099 | *
1100 | * Copyright (C) 2000-2003 The Apache Software Foundation. All
1101 | * rights reserved.
1102 | *
1103 | * Redistribution and use in source and binary forms, with or without modifica-
1104 | * tion, are permitted provided that the following conditions are met:
1105 | *
1106 | * 1. Redistributions of source code must retain the above copyright notice,
1107 | * this list of conditions and the following disclaimer.
1108 | *
1109 | * 2. Redistributions in binary form must reproduce the above copyright notice,
1110 | * this list of conditions and the following disclaimer in the documentation
1111 | * and/or other materials provided with the distribution.
1112 | *
1113 | * 3. The end-user documentation included with the redistribution, if any, must
1114 | * include the following acknowledgment: "This product includes software
1115 | * developed by the Apache Software Foundation (http://www.apache.org/)."
1116 | * Alternately, this acknowledgment may appear in the software itself, if
1117 | * and wherever such third-party acknowledgments normally appear.
1118 | *
1119 | * 4. The names "Ant" and "Apache Software Foundation" must not be used to
1120 | * endorse or promote products derived from this software without prior
1121 | * written permission. For written permission, please contact
1122 | * apache@apache.org.
1123 | *
1124 | * 5. Products derived from this software may not be called "Apache", nor may
1125 | * "Apache" appear in their name, without prior written permission of the
1126 | * Apache Software Foundation.
1127 | *
1128 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
1129 | * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1130 | * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1131 | * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
1132 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
1133 | * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
1134 | * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
1135 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1136 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
1137 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1138 | *
1139 | * This software consists of voluntary contributions made by many individuals
1140 | * on behalf of the Apache Software Foundation. For more information on the
1141 | * Apache Software Foundation, please see .
1142 | *
1143 | */
1144 |
1145 |
1146 | Additional License(s)
1147 |
1148 | none
1149 |
1150 | ***************************************************************************
1151 |
1152 | %%The following software may be included in this product:
1153 | SAX
1154 |
1155 | Use of any of this software is governed by the terms of the license below:
1156 |
1157 | There is not a license - it is in the public domain
1158 |
1159 | Copyright Disclaimers
1160 |
1161 | This page includes statements to that effect by David Megginson, who would have
1162 | been able to claim copyright for the original work.
1163 |
1164 | SAX 1.0
1165 |
1166 | Version 1.0 of the Simple API for XML (SAX), created collectively by the
1167 | membership of the XML-DEV mailing list, is hereby released into the public
1168 | domain.
1169 |
1170 | No one owns SAX: you may use it freely in both commercial and non-commercial
1171 | applications, bundle it with your software distribution, include it on a CD-ROM,
1172 | list the source code in a book, mirror the documentation at your own web site,
1173 | or use it in any other way you see fit.
1174 |
1175 | SAX 2.0
1176 |
1177 | I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and
1178 | release all of the SAX 2.0 source code, compiled code, and documentation
1179 | contained in this distribution into the Public Domain. SAX comes with NO
1180 | WARRANTY or guarantee of fitness for any purpose.
1181 |
1182 | David Megginson, david@megginson.com
1183 | 2000-05-05
1184 |
1185 | Additional License(s)
1186 |
1187 | Public domain software
1188 |
1189 | ***************************************************************************
1190 |
1191 | %%The following software may be included in this product:
1192 | Ant-Contrib
1193 |
1194 | Use of any of this software is governed by the terms of the license below:
1195 |
1196 | /*
1197 | * The Apache Software License, Version 1.1
1198 | *
1199 | * Copyright (c) 2001-2003 Ant-Contrib project. All rights reserved.
1200 | *
1201 | * Redistribution and use in source and binary forms, with or without
1202 | * modification, are permitted provided that the following conditions
1203 | * are met:
1204 | *
1205 | * 1. Redistributions of source code must retain the above copyright
1206 | * notice, this list of conditions and the following disclaimer.
1207 | *
1208 | * 2. Redistributions in binary form must reproduce the above copyright
1209 | * notice, this list of conditions and the following disclaimer in
1210 | * the documentation and/or other materials provided with the
1211 | * distribution.
1212 | *
1213 | * 3. The end-user documentation included with the redistribution, if
1214 | * any, must include the following acknowlegement:
1215 | * "This product includes software developed by the
1216 | * Ant-Contrib project (http://sourceforge.net/projects/ant-contrib)."
1217 | * Alternately, this acknowlegement may appear in the software itself,
1218 | * if and wherever such third-party acknowlegements normally appear.
1219 | *
1220 | * 4. The name Ant-Contrib must not be used to endorse or promote products
1221 | * derived from this software without prior written permission. For
1222 | * written permission, please contact
1223 | * ant-contrib-developers@lists.sourceforge.net.
1224 | *
1225 | * 5. Products derived from this software may not be called "Ant-Contrib"
1226 | * nor may "Ant-Contrib" appear in their names without prior written
1227 | * permission of the Ant-Contrib project.
1228 | *
1229 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
1230 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1231 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1232 | * DISCLAIMED. IN NO EVENT SHALL THE ANT-CONTRIB PROJECT OR ITS
1233 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1234 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1235 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
1236 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
1237 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1238 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1239 | * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1240 | * SUCH DAMAGE.
1241 | * ====================================================================
1242 | */
1243 |
1244 | ***************************************************************************
1245 |
1246 |
1247 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/ant-contrib-1.0b3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/ant-contrib-1.0b3.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/api_classic.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/api_classic.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/api_connected.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/api_connected.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/asm-all-3.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/asm-all-3.1.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/bcel-5.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/bcel-5.2.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/commons-cli-1.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/commons-cli-1.0.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/commons-codec-1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/commons-codec-1.3.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/commons-httpclient-3.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/commons-httpclient-3.0.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/commons-logging-1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/commons-logging-1.1.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/jctasks.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/jctasks.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/logging.properties:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2010, 2010, Oracle and/or its affiliates. All rights reserved.
2 |
3 | # Properties file which configures the operation of the JDK
4 | # logging facility.
5 |
6 | # The system will look for this config file, first using
7 | # a System property specified at startup:
8 | #
9 | # >java -Djava.util.logging.config.file=myLoggingConfigFilePath
10 | #
11 | # If this property is not specified, then the config file is
12 | # retrieved from its default location at:
13 | #
14 | # JDK_HOME/jre/lib/logging.properties
15 |
16 | # Global logging properties.
17 | # ------------------------------------------
18 | # The set of handlers to be loaded upon startup.
19 | # Comma-separated list of class names.
20 | # java.util.logging.ConsoleHandler
21 | handlers=com.sun.javacard.tools.util.JCConsoleHandler, java.util.logging.FileHandler
22 |
23 | # Default global logging level.
24 | # Loggers and Handlers may override this level
25 | .level=ALL
26 |
27 | # Loggers
28 | # ------------------------------------------
29 | # Loggers are usually attached to packages.
30 | # Here, the level for each package is specified.
31 | # The global level is used by default, so levels
32 | # specified here simply act as an override.
33 | #com.sun.javacard.offcardinstaller=ALL
34 |
35 | # Handlers
36 | # -----------------------------------------
37 |
38 | com.sun.javacard.tools.util.JCConsoleHandler.level=ALL
39 | com.sun.javacard.tools.util.JCConsoleHandler.formatter=com.sun.javacard.tools.util.JCToolsFormatter
40 | com.sun.javacard.tools.util.JCConsoleHandler.filter=com.sun.javacard.tools.util.ConsoleFilter
41 |
42 | # --- FileHandler ---
43 | # Override of global logging level
44 | java.util.logging.FileHandler.level=ALL
45 |
46 | # Naming style for the output file:
47 | # (The output file is placed in the directory
48 | # defined by the "user.home" System property.)
49 | java.util.logging.FileHandler.pattern=%h/java%u.log
50 |
51 | # Limiting size of output file in bytes:
52 | java.util.logging.FileHandler.limit=50000
53 |
54 | # Number of output files to cycle through, by appending an
55 | # integer to the base file name:
56 | java.util.logging.FileHandler.count=10
57 |
58 | # Style of output (Simple or XML):
59 | java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
60 |
61 | java.util.logging.FileHandler.append=true
62 |
63 | #--------------print class method info
64 | printCurrentClassAndMethod = false
65 |
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/lib/tools.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/lib/tools.jar
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/shared/Java_clr_hori.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/shared/Java_clr_hori.gif
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/shared/Java_clr_hori_interval.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/shared/Java_clr_hori_interval.gif
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/shared/Java_clr_hori_small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/shared/Java_clr_hori_small.gif
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/shared/downicon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/shared/downicon.gif
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/shared/oracle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/shared/oracle.gif
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/shared/smallOracleLogo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/shared/smallOracleLogo.gif
--------------------------------------------------------------------------------
/CCU2F/extlibs/jc303_kit/shared/topicon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/extlibs/jc303_kit/shared/topicon.gif
--------------------------------------------------------------------------------
/CCU2F/scripts/install+personalize.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Install applet and set private key of attestation certifcate (User Presence Check disabled)
3 | #java -jar tools/gp.jar -reinstall ccu2f.cap -params 010140f3fccc0d00d8031954f90864d43c247f4bf5f0665c6b50cc17749a27d1cf7664
4 |
5 | # Install applet and set private key of attestation certifcate (User Presence Check enabled)
6 | java -jar tools/gp.jar -reinstall cap/ccu2f.cap -params 000140f3fccc0d00d8031954f90864d43c247f4bf5f0665c6b50cc17749a27d1cf7664
7 |
8 | # Upload attestation certificate
9 | scriptor scripts/personalisation_script.txt
10 |
--------------------------------------------------------------------------------
/CCU2F/scripts/personalisation_script.txt:
--------------------------------------------------------------------------------
1 | 00A4040008A0000006472F000100
2 | 80090000803082013c3081e4a003020102020a47901280001155957352300a06082a8648ce3d0403023017311530130603550403130c476e756262792050696c6f74301e170d3132303831343138323933325a170d3133303831343138323933325a3031312f302d0603550403132650696c6f74476e756262792d302e342e312d34373930
3 | 8009008080313238303030313135353935373335323059301306072a8648ce3d020106082a8648ce3d030107034200048d617e65c9508e64bcc5673ac82a6799da3c1446682c258c463fffdf58dfd2fa3e6c378b53d795c4a4dffb4199edd7862f23abaf0203b4b8911ba0569994e101300a06082a8648ce3d0403020347003044022060cd
4 | 8009010040b6061e9c22262d1aac1d96d8c70829b2366531dda268832cb836bcd30dfa0220631b1459f09e6330055722c8d89b7f48883b9089b88d60d1d9795902b30410df
--------------------------------------------------------------------------------
/CCU2F/src/de/tsenger/u2f/FIDOAPI.java:
--------------------------------------------------------------------------------
1 | /*
2 | *******************************************************************************
3 | * FIDO U2F Authenticator
4 | * (c) 2015 Ledger
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License");
7 | * you may not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an "AS IS" BASIS,
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | *******************************************************************************
18 | */
19 |
20 | package de.tsenger.u2f;
21 |
22 | import javacard.security.ECPrivateKey;
23 |
24 | public interface FIDOAPI {
25 |
26 | public short generateKeyAndWrap(byte[] applicationParameter, short applicationParameterOffset, ECPrivateKey generatedPrivateKey, byte[] publicKey, short publicKeyOffset, byte[] keyHandle, short keyHandleOffset);
27 | public boolean unwrap(byte[] keyHandle, short keyHandleOffset, short keyHandleLength, byte[] applicationParameter, short applicationParameterOffset, ECPrivateKey unwrappedPrivateKey);
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/CCU2F/src/de/tsenger/u2f/FIDOCCImplementation.java:
--------------------------------------------------------------------------------
1 | /*
2 | *******************************************************************************
3 | * FIDO CCU2F Authenticator
4 | * (c) 2017 tsenger
5 | * based on FIDO U2F Authenticator by Ledger
6 | *
7 | * Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | *******************************************************************************
19 | */
20 |
21 | package de.tsenger.u2f;
22 |
23 | import javacard.framework.JCSystem;
24 | import javacard.framework.Util;
25 | import javacard.security.AESKey;
26 | import javacard.security.ECKey;
27 | import javacard.security.ECPrivateKey;
28 | import javacard.security.ECPublicKey;
29 | import javacard.security.KeyAgreement;
30 | import javacard.security.KeyBuilder;
31 | import javacard.security.KeyPair;
32 | import javacard.security.MessageDigest;
33 | import javacard.security.RandomData;
34 |
35 | import com.nxp.id.jcopx.KeyAgreementX;
36 | import com.nxp.id.jcopx.KeyBuilderX;
37 |
38 | public class FIDOCCImplementation implements FIDOAPI {
39 |
40 | private static KeyPair keyPair;
41 | private static AESKey macKey1, macKey2;
42 | //private static byte[] seed;
43 | private static AESKey drngSeed1, drngSeed2;
44 | private static RandomData random;
45 | private static byte[] scratch;
46 | private static KeyAgreement ecMultiplyHelper;
47 | private static MessageDigest sha256;
48 |
49 |
50 | public FIDOCCImplementation() {
51 |
52 | random = RandomData.getInstance(RandomData.ALG_SECURE_RANDOM);
53 |
54 | scratch = JCSystem.makeTransientByteArray((short)128, JCSystem.CLEAR_ON_DESELECT);
55 | //seed = new byte[64];
56 |
57 | keyPair = new KeyPair(
58 | (ECPublicKey)KeyBuilder.buildKey(KeyBuilder.TYPE_EC_FP_PUBLIC, KeyBuilder.LENGTH_EC_FP_256, false),
59 | (ECPrivateKey)KeyBuilder.buildKey(KeyBuilder.TYPE_EC_FP_PRIVATE, KeyBuilder.LENGTH_EC_FP_256, false));
60 | Secp256r1.setCommonCurveParameters((ECKey)keyPair.getPrivate());
61 | Secp256r1.setCommonCurveParameters((ECKey)keyPair.getPublic());
62 |
63 | // Initialize the unique seed for DRNG function
64 | //random.generateData(seed, (short)0, (short)64);
65 |
66 | // Initialize the unique seed for DRNG function
67 | drngSeed1 = (AESKey)KeyBuilderX.buildKey(KeyBuilderX.TYPE_AES_STATIC, KeyBuilder.LENGTH_AES_256, false);
68 | drngSeed2 = (AESKey)KeyBuilderX.buildKey(KeyBuilderX.TYPE_AES_STATIC, KeyBuilder.LENGTH_AES_256, false);
69 | random.generateData(scratch, (short)0, (short)32);
70 | drngSeed1.setKey(scratch, (short)0);
71 | random.generateData(scratch, (short)0, (short)32);
72 | drngSeed2.setKey(scratch, (short)0);
73 |
74 | sha256 = MessageDigest.getInstance(MessageDigest.ALG_SHA_256, false);
75 |
76 | // Initialize the unique keys for MAC function
77 | macKey1 = (AESKey)KeyBuilderX.buildKey(KeyBuilderX.TYPE_AES_STATIC, KeyBuilder.LENGTH_AES_128, false);
78 | macKey2 = (AESKey)KeyBuilderX.buildKey(KeyBuilderX.TYPE_AES_STATIC, KeyBuilder.LENGTH_AES_128, false);
79 | random.generateData(scratch, (short)0, (short)16);
80 | macKey1.setKey(scratch, (short)0);
81 | random.generateData(scratch, (short)0, (short)16);
82 | macKey2.setKey(scratch, (short)0);
83 |
84 | // Initialize ecMultiplier
85 | ecMultiplyHelper = KeyAgreementX.getInstance(KeyAgreementX.ALG_EC_SVDP_DH_PLAIN_XY, false);
86 | }
87 |
88 | /**
89 | * Generate Public Key from given Private Key. Uses the Key Agreement API of Java card.
90 | * @param pointOutputBuffer Output buffer
91 | * @param offset Offset of the output buffer
92 | * @return Length of the final EC point
93 | */
94 | private short generatePublicKeyPoint(byte[] pointOutputBuffer, short offset){
95 | ecMultiplyHelper.init(keyPair.getPrivate());
96 | return ecMultiplyHelper.generateSecret(Secp256r1.SECP256R1_G, (short) 0, (short) 65, pointOutputBuffer, offset);
97 | }
98 |
99 |
100 | private void generatePrivateKey(byte[] applicationParameter, short applicationParameterOffset, byte[] nonceBuffer, short nonceBufferOffset) {
101 | Util.arrayCopy(applicationParameter, applicationParameterOffset, scratch, (short) 0, (short) 32);
102 | Util.arrayCopy(nonceBuffer, nonceBufferOffset, scratch, (short) 32, (short) 32); // we use only 32 byte of the nonce to avoid that message length gets bigger then blocksize (64 Byte)
103 | drngSeed1.getKey(scratch, (short) 64);
104 | drngSeed2.getKey(scratch, (short) 96);
105 | computeHmacSha256(scratch, (short) 64, (short) 64, scratch, (short) 0, (short) 64, scratch, (short) 0);
106 |
107 |
108 | }
109 |
110 | private short computeHmacSha256(byte[] key, short key_offset, short key_length,
111 | byte[] message, short message_offset, short message_length,
112 | byte[] mac, short mac_offset){
113 |
114 | byte[] hmacBuffer = JCSystem.makeTransientByteArray((short) 128, JCSystem.CLEAR_ON_DESELECT);
115 |
116 | short BLOCKSIZE=64;
117 | short HASHSIZE=32;
118 |
119 | // compute inner hash
120 | for (short i=0; i (short)attestationCertificate.length) {
150 | ISOException.throwIt(ISO7816.SW_WRONG_DATA);
151 | }
152 | Util.arrayCopy(buffer, dataOffset, attestationCertificate, copyOffset, len);
153 | if ((short)(copyOffset + len) == (short)attestationCertificate.length) {
154 | attestationCertificateSet = true;
155 | }
156 | }
157 |
158 | private void handleEnroll(APDU apdu) throws ISOException {
159 | byte[] buffer = apdu.getBuffer();
160 | short len = apdu.setIncomingAndReceive();
161 | short dataOffset = apdu.getOffsetCdata();
162 | boolean extendedLength = (dataOffset != ISO7816.OFFSET_CDATA);
163 | short outOffset;
164 | if (len != 64) {
165 | ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
166 | }
167 | // Deny if user presence cannot be validated
168 | if ((flags & INSTALL_FLAG_DISABLE_USER_PRESENCE) == 0) {
169 | if (scratchPersistent[0] != 0) {
170 | ISOException.throwIt(FIDO_SW_TEST_OF_PRESENCE_REQUIRED);
171 | }
172 | }
173 | // Check if the counter overflowed
174 | if (counterOverflowed) {
175 | ISOException.throwIt(ISO7816.SW_FILE_FULL);
176 | }
177 | // Set user presence
178 | scratchPersistent[0] = (byte)1;
179 | // Generate the key pair
180 | if (localPrivateTransient) {
181 | Secp256r1.setCommonCurveParameters(localPrivateKey);
182 | }
183 | short keyHandleLength = fidoImpl.generateKeyAndWrap(buffer, (short)(dataOffset + APDU_APPLICATION_PARAMETER_OFFSET), localPrivateKey, scratch, SCRATCH_PUBLIC_KEY_OFFSET, scratch, SCRATCH_KEY_HANDLE_OFFSET);
184 | scratch[SCRATCH_PAD] = ENROLL_LEGACY_VERSION;
185 | scratch[SCRATCH_KEY_HANDLE_LENGTH_OFFSET] = (byte)keyHandleLength;
186 | // Prepare the attestation
187 | attestationSignature.update(RFU_ENROLL_SIGNED_VERSION, (short)0, (short)1);
188 | attestationSignature.update(buffer, (short)(dataOffset + APDU_APPLICATION_PARAMETER_OFFSET), (short)32);
189 | attestationSignature.update(buffer, (short)(dataOffset + APDU_CHALLENGE_OFFSET), (short)32);
190 | attestationSignature.update(scratch, SCRATCH_KEY_HANDLE_OFFSET, keyHandleLength);
191 | attestationSignature.update(scratch, SCRATCH_PUBLIC_KEY_OFFSET, (short)65);
192 | outOffset = (short)(ENROLL_PUBLIC_KEY_OFFSET + 65 + 1 + keyHandleLength);
193 | if (extendedLength) {
194 | // If using extended length, the message can be completed and sent immediately
195 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_EXTENDED;
196 | outOffset = Util.arrayCopyNonAtomic(scratch, SCRATCH_PAD, buffer, (short)0, outOffset);
197 | outOffset = Util.arrayCopyNonAtomic(attestationCertificate, (short)0, buffer, outOffset, (short)attestationCertificate.length);
198 | short signatureSize = attestationSignature.sign(buffer, (short)0, (short)0, buffer, outOffset);
199 | outOffset += signatureSize;
200 | apdu.setOutgoingAndSend((short)0, outOffset);
201 | }
202 | else {
203 | // Otherwise, keep the signature and proceed to send the first chunk
204 | short signatureSize = attestationSignature.sign(buffer, (short)0, (short)0, scratch, SCRATCH_SIGNATURE_OFFSET);
205 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_NOT_EXTENDED;
206 | Util.setShort(scratch, SCRATCH_CURRENT_OFFSET, (short)0);
207 | Util.setShort(scratch, SCRATCH_SIGNATURE_LENGTH, signatureSize);
208 | Util.setShort(scratch, SCRATCH_NONCERT_LENGTH, outOffset);
209 | Util.setShort(scratch, SCRATCH_FULL_LENGTH, (short)(outOffset + attestationCertificate.length + signatureSize));
210 | scratch[SCRATCH_INCLUDE_CERT] = (byte)1;
211 | handleGetData(apdu);
212 | }
213 | }
214 |
215 | private void handleSign(APDU apdu) throws ISOException {
216 | byte[] buffer = apdu.getBuffer();
217 | short len = apdu.setIncomingAndReceive();
218 | short dataOffset = apdu.getOffsetCdata();
219 | byte p1 = buffer[ISO7816.OFFSET_P1];
220 | boolean sign = false;
221 | boolean counterOverflow = true;
222 | short keyHandleLength;
223 | boolean extendedLength = (dataOffset != ISO7816.OFFSET_CDATA);
224 | short outOffset = SCRATCH_PAD;
225 | if (len < 65) {
226 | ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
227 | }
228 | switch(p1) {
229 | case P1_SIGN_OPERATION:
230 | sign = true;
231 | break;
232 | case P1_SIGN_CHECK_ONLY:
233 | break;
234 | default:
235 | ISOException.throwIt(ISO7816.SW_INCORRECT_P1P2);
236 | }
237 | // Check if the counter overflowed
238 | if (counterOverflowed) {
239 | ISOException.throwIt(ISO7816.SW_FILE_FULL);
240 | }
241 | // Verify key handle
242 | if (localPrivateTransient) {
243 | Secp256r1.setCommonCurveParameters(localPrivateKey);
244 | }
245 | keyHandleLength = (short)(buffer[(short)(dataOffset + 64)] & 0xff);
246 | if (!fidoImpl.unwrap(buffer, (short)(dataOffset + 65), keyHandleLength, buffer, (short)(dataOffset + APDU_APPLICATION_PARAMETER_OFFSET), (sign ? localPrivateKey : null))) {
247 | ISOException.throwIt(FIDO_SW_INVALID_KEY_HANDLE);
248 | }
249 | // If not signing, return with the "correct" exception
250 | if (!sign) {
251 | ISOException.throwIt(FIDO_SW_TEST_OF_PRESENCE_REQUIRED);
252 | }
253 | // If signing, only proceed if user presence can be validated
254 | if ((flags & INSTALL_FLAG_DISABLE_USER_PRESENCE) == 0) {
255 | if (scratchPersistent[0] != 0) {
256 | ISOException.throwIt(FIDO_SW_TEST_OF_PRESENCE_REQUIRED);
257 | }
258 | }
259 | scratchPersistent[0] = (byte)1;
260 | // Increase the counter
261 | boolean carry = false;
262 | JCSystem.beginTransaction();
263 | for (byte i=0; i<4; i++) {
264 | short addValue = (i == 0 ? (short)1 : (short)0);
265 | short val = (short)((short)(counter[(short)(4 - 1 - i)] & 0xff) + addValue);
266 | if (carry) {
267 | val++;
268 | }
269 | carry = (val > 255);
270 | counter[(short)(4 - 1 - i)] = (byte)val;
271 | }
272 | JCSystem.commitTransaction();
273 | if (carry) {
274 | // Game over
275 | counterOverflowed = true;
276 | ISOException.throwIt(ISO7816.SW_FILE_FULL);
277 | }
278 | // Prepare reply
279 | scratch[outOffset++] = FLAG_USER_PRESENCE_VERIFIED;
280 | outOffset = Util.arrayCopyNonAtomic(counter, (short)0, scratch, outOffset, (short)4);
281 | localSignature.init(localPrivateKey, Signature.MODE_SIGN);
282 | localSignature.update(buffer, (short)(dataOffset + APDU_APPLICATION_PARAMETER_OFFSET), (short)32);
283 | localSignature.update(scratch, SCRATCH_PAD, (short)5);
284 | outOffset += localSignature.sign(buffer, (short)(dataOffset + APDU_CHALLENGE_OFFSET), (short)32, scratch, outOffset);
285 |
286 | if (extendedLength) {
287 | // If using extended length, the message can be completed and sent immediately
288 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_EXTENDED;
289 | Util.arrayCopyNonAtomic(scratch, SCRATCH_PAD, buffer, (short)0, outOffset);
290 | apdu.setOutgoingAndSend((short)0, (short)(outOffset - SCRATCH_PAD));
291 | }
292 | else {
293 | // Otherwise send the first chunk
294 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_NOT_EXTENDED;
295 | Util.setShort(scratch, SCRATCH_CURRENT_OFFSET, (short)0);
296 | Util.setShort(scratch, SCRATCH_SIGNATURE_LENGTH, (short)0);
297 | Util.setShort(scratch, SCRATCH_NONCERT_LENGTH, (short)(outOffset - SCRATCH_PAD));
298 | Util.setShort(scratch, SCRATCH_FULL_LENGTH, (short)(outOffset - SCRATCH_PAD));
299 | scratch[SCRATCH_INCLUDE_CERT] = (byte)0;
300 | handleGetData(apdu);
301 | }
302 | }
303 |
304 | private void handleVersion(APDU apdu) throws ISOException {
305 | byte[] buffer = apdu.getBuffer();
306 | Util.arrayCopyNonAtomic(VERSION, (short)0, buffer, (short)0, (short)VERSION.length);
307 | apdu.setOutgoingAndSend((short)0, (short)VERSION.length);
308 | }
309 |
310 | private void handleGetData(APDU apdu) throws ISOException {
311 | byte[] buffer = apdu.getBuffer();
312 | short currentOffset = Util.getShort(scratch, SCRATCH_CURRENT_OFFSET);
313 | short fullLength = Util.getShort(scratch, SCRATCH_FULL_LENGTH);
314 | switch(scratch[SCRATCH_TRANSPORT_STATE]) {
315 | case TRANSPORT_NOT_EXTENDED:
316 | case TRANSPORT_NOT_EXTENDED_CERT:
317 | case TRANSPORT_NOT_EXTENDED_SIGNATURE:
318 | break;
319 | default:
320 | ISOException.throwIt(ISO7816.SW_CONDITIONS_NOT_SATISFIED);
321 | }
322 | short requestedSize = apdu.setOutgoing();
323 | short outOffset = (short)0;
324 | if (scratch[SCRATCH_TRANSPORT_STATE] == TRANSPORT_NOT_EXTENDED) {
325 | short dataSize = Util.getShort(scratch, SCRATCH_NONCERT_LENGTH);
326 | short blockSize = ((short)(dataSize - currentOffset) > requestedSize ? requestedSize : (short)(dataSize - currentOffset));
327 | Util.arrayCopyNonAtomic(scratch, (short)(SCRATCH_PAD + currentOffset), buffer, outOffset, blockSize);
328 | outOffset += blockSize;
329 | currentOffset += blockSize;
330 | fullLength -= blockSize;
331 | if (currentOffset == dataSize) {
332 | if (scratch[SCRATCH_INCLUDE_CERT] == (byte)1) {
333 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_NOT_EXTENDED_CERT;
334 | currentOffset = (short)0;
335 | requestedSize -= blockSize;
336 | }
337 | else {
338 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_NONE;
339 | }
340 | }
341 | }
342 | if ((scratch[SCRATCH_TRANSPORT_STATE] == TRANSPORT_NOT_EXTENDED_CERT) && (requestedSize != (short)0)) {
343 | short blockSize = ((short)(attestationCertificate.length - currentOffset) > requestedSize ? requestedSize : (short)(attestationCertificate.length - currentOffset));
344 | Util.arrayCopyNonAtomic(attestationCertificate, currentOffset, buffer, outOffset, blockSize);
345 | outOffset += blockSize;
346 | currentOffset += blockSize;
347 | fullLength -= blockSize;
348 | if (currentOffset == (short)attestationCertificate.length) {
349 | if (Util.getShort(scratch, SCRATCH_SIGNATURE_LENGTH) != (short)0) {
350 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_NOT_EXTENDED_SIGNATURE;
351 | currentOffset = (short)0;
352 | requestedSize -= blockSize;
353 | }
354 | else {
355 | scratch[SCRATCH_TRANSPORT_STATE] = TRANSPORT_NONE;
356 | }
357 | }
358 | }
359 | if ((scratch[SCRATCH_TRANSPORT_STATE] == TRANSPORT_NOT_EXTENDED_SIGNATURE) && (requestedSize != (short)0)) {
360 | short signatureSize = Util.getShort(scratch, SCRATCH_SIGNATURE_LENGTH);
361 | short blockSize = ((short)(signatureSize - currentOffset) > requestedSize ? requestedSize : (short)(signatureSize - currentOffset));
362 | Util.arrayCopyNonAtomic(scratch, (short)(SCRATCH_SIGNATURE_OFFSET + currentOffset), buffer, outOffset, blockSize);
363 | outOffset += blockSize;
364 | currentOffset += blockSize;
365 | fullLength -= blockSize;
366 | }
367 | apdu.setOutgoingLength(outOffset);
368 | apdu.sendBytes((short)0, outOffset);
369 | Util.setShort(scratch, SCRATCH_CURRENT_OFFSET, currentOffset);
370 | Util.setShort(scratch, SCRATCH_FULL_LENGTH, fullLength);
371 | if (fullLength > 256) {
372 | ISOException.throwIt(ISO7816.SW_BYTES_REMAINING_00);
373 | }
374 | else
375 | if (fullLength != 0) {
376 | ISOException.throwIt((short)(ISO7816.SW_BYTES_REMAINING_00 + fullLength));
377 | }
378 | }
379 |
380 | public void process(APDU apdu) throws ISOException {
381 | byte[] buffer = apdu.getBuffer();
382 | if (selectingApplet()) {
383 | if (attestationCertificateSet) {
384 | Util.arrayCopyNonAtomic(VERSION, (short)0, buffer, (short)0, (short)VERSION.length);
385 | apdu.setOutgoingAndSend((short)0, (short)VERSION.length);
386 | }
387 | return;
388 | }
389 | if (buffer[ISO7816.OFFSET_CLA] == PROPRIETARY_CLA) {
390 | if (attestationCertificateSet) {
391 | ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
392 | }
393 | switch(buffer[ISO7816.OFFSET_INS]) {
394 | case FIDO_ADM_SET_ATTESTATION_CERT:
395 | handleSetAttestationCert(apdu);
396 | break;
397 | default:
398 | ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
399 | }
400 | }
401 | else if (buffer[ISO7816.OFFSET_CLA] == FIDO_CLA) {
402 | if (!attestationCertificateSet) {
403 | ISOException.throwIt(ISO7816.SW_SECURITY_STATUS_NOT_SATISFIED);
404 | }
405 | switch(buffer[ISO7816.OFFSET_INS]) {
406 | case FIDO_INS_ENROLL:
407 | handleEnroll(apdu);
408 | break;
409 | case FIDO_INS_SIGN:
410 | handleSign(apdu);
411 | break;
412 | case FIDO_INS_VERSION:
413 | handleVersion(apdu);
414 | break;
415 | case ISO_INS_GET_DATA:
416 | handleGetData(apdu);
417 | break;
418 | default:
419 | ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
420 | }
421 | }
422 | else {
423 | ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
424 | }
425 | }
426 |
427 | public static void install (byte bArray[], short bOffset, byte bLength) throws ISOException {
428 | short offset = bOffset;
429 | offset += (short)(bArray[offset] + 1); // instance
430 | offset += (short)(bArray[offset] + 1); // privileges
431 | new U2FApplet(bArray, (short)(offset + 1), bArray[offset]).register(bArray, (short)(bOffset + 1), bArray[bOffset]);
432 | }
433 | }
434 |
435 |
--------------------------------------------------------------------------------
/CCU2F/tools/ant-javacard.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/tools/ant-javacard.jar
--------------------------------------------------------------------------------
/CCU2F/tools/gp.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tsenger/CCU2F/9f178ebcd6a5b22e738f263a92552230ac14f4e9/CCU2F/tools/gp.jar
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # NEW since 18.01.2019
2 | With the last commits I added the cap file as well as scripts, libs and tools for easier development. Unfortunately I can't provide the JCOP libs which is used for KeyAgreementX.ALG_EC_SVDP_DH_PLAIN_XY in the JCOP cards. But since Javacard 3.0.5 the KeyAgreement.ALG_EC_SVDP_DH_PLAIN_XY is in the standard Javacard libs. So if your card supports JC 3.0.5 you can easily change the code and use the standard lib.
3 |
4 | # FIDO CCU2F Javacard Applet
5 | This CCU2F JavaCard Applet is based on the [Ledger U2F Applet](https://github.com/LedgerHQ/ledger-u2f-javacard). I imported this applet to Eclipse with installed JCOP Tools and modified the AID of this applet to the standardized AID for FIDO NFC token ( 0xA0000006472F0001). I also provided some example data ([Attestation Certificate and Key](u2f-javacard/U2F Example Attestation Certificate and Key Bytes.txt)) to bring this applet to run. The example data is sourced in the specification [FIDO U2F Raw Message Formats] (https://fidoalliance.org/specs/fido-u2f-v1.0-nfc-bt-amendment-20150514/fido-u2f-raw-message-formats.html#examples).
6 | This Applet was succesfully tested on JCOP v2.4.2 R3 cards. This implementation uses the KeyAgreementX.ALG_EC_SVDP_DH_PLAIN_XY from NXPs JCOP library for EC Point Multiplication. Other cards may have similar functions which can be used instead.
7 |
8 | ## Installing
9 | The following install parameters are expected :
10 |
11 | - 1 byte flag : provide 01 to pass the current [Fido NFC interoperability tests](https://github.com/google/u2f-ref-code/tree/master/u2f-tests), or 00
12 | - 2 bytes length (big endian encoded) : length of the attestation certificate to load, supposed to be using a private key on the P-256 curve
13 | - 32 bytes : private key of the attestation certificate
14 |
15 | Example parameters with flag set to 00, length of certificate is set to 0x0140 byte and key bytes:
16 |