`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`
`Klaus Finkenzeller, et al.
`In re Patent of:
`8,581,706 Attorney Docket No.: 39843-0132IP1
`U.S. Patent No.:
`November 12, 2013
`
`Issue Date:
`Appl. Serial No.: 12/304,653
`
`Filing Date:
`March 4, 2009
`
`Title:
`DATA STORAGE MEDIUM AND METHOD FOR
`CONTACTLESS COMMUNICATION BETWEEN THE DATA
`STORAGE MEDIUM AND A READER
`
`
`
`
`DECLARATION OF JUNE ANN MUNFORD
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1
`
`SAMSUNG 1103
`
`
`
`INTRODUCTION
`
`1. My name is June Ann Munford. I am over the age of 18, have personal
`
`knowledge of the facts set forth herein, and am competent to testify to the
`
`same.
`
`
`
`
`
`
`
`2. I earned a Master of Library and Information Science (MLIS) from the
`
`University of Wisconsin-Milwaukee in 2009. I have over ten years of
`
`experience in the library/information science field. Beginning in 2004, I
`
`have served in various positions in the public library sector including
`
`Assistant Librarian, Youth Services Librarian and Library Director. I have
`
`attached my Curriculum Vitae as Appendix CV.
`
`3. During my career in the library profession, I have been responsible for
`
`materials acquisition for multiple libraries. In that position, I have cataloged,
`
`purchased and processed incoming library works. That includes purchasing
`
`materials directly from vendors, recording publishing data from the material
`
`in question, creating detailed material records for library catalogs and
`
`physically preparing that material for circulation. In addition to my
`
`experience in acquisitions, I was also responsible for analyzing large
`
`collections of library materials, tailoring library records for optimal catalog
`
`1
`
`2
`
`
`
`search performance and creating lending agreements between libraries
`
`during my time as a Library Director.
`
`
`4. I am familiar with the Internet Archive, a digital library formally certified by
`
`the State of California as a public library. Among other services that the
`
`Internet Archive makes available to the general public is the Wayback
`
`Machine, an online archive. The Internet Archive’s Wayback Machine
`
`service archives webpages as of a certain capture date to track changes in the
`
`web over time. The Internet Archive has been in operation as a nonprofit
`
`library since 1996 and has hosted the Wayback Machine service since its
`
`inception in 2001. During my time as a librarian, I frequently used the
`
`Internet Archive’s Wayback Machine for research and instruction purposes.
`
`This includes teaching instructional classes on using the Wayback Machine
`
`to library patrons and using the Wayback Machine to research reference
`
`inquiries that require hard-to-find online resources. I consider the Internet
`
`Archive’s recordskeeping to be as rigorous and detailed as other formal
`
`library recordskeeping practices such as MARC records, OCLC records and
`
`Dublin Core.
`
`
`5. I have been retained by Fish & Richardson P.C. on behalf of Samsung
`
`Electronics Co., Ltd. (“Petitioner” or “Samsung”). I understand that
`
`
`
`2
`
`3
`
`
`
`Samsung is requesting that the Patent Trial and Appeal Board (“PTAB”) or
`
`“Board”) institute an inter partes review (“IPR”) proceeding of U.S. Patent
`
`No. 8,581,706 (“the ’706 patent”).
`
`
`6. I am being compensated for my services in this matter at the rate of $100.00
`
`per hour plus reasonable expenses. My statements are objective, and my
`
`compensation does not depend on the outcome of this matter.
`
`
`7. I have been asked to provide assistance in authenticating and assessing the
`
`public accessibility of the following three documents, which I understand to
`
`be cited in Samsung’s IPR petition against the ’706 patent:
`
` a. Exhibit SAMSUNG-1011: Java Card 2.1 Runtime Environment
`
`(JCRE) Specification (Revision 1.0) by Sun Microsystems
`
` b. Exhibit SAMSUNG-1012: Java Card 2.1 Virtual Machine
`
`Specification (Revision 1.0) by Sun Microsystems
`
` c. Exhibit SAMSUNG-1013: Java Card 2.1 Application Programming
`
`Interface (Revision 1.0) by Sun Microsystems
`
` d. Exhibit SAMSUNG-1009: RFID Handbook: Fundamentals and
`
`Applications in Contactless Smart Cards and Identification by Klaus
`
`Finkenzeller
`
`
`
`3
`
`4
`
`
`
`
`
`AUTHENTICATION OF EXHIBIT SAMSUNG-1011: Java Card 2.1 Runtime
`
`Environment (JCRE) Specification (Revision 1.0)
`
`
`
`
`
`8. I have reviewed Exhibit SAMSUNG-1011, a document entitled Java Card
`
`2.1 Runtime Environment (JCRE) Specification (Revision 1.0) by Sun
`
`Microsystems.
`
`
`
`9. Attached hereto as Appendix JCRE01 is a PDF copy of Java Card 2.1
`
`Runtime Environment (JCRE) Specification (Revision 1.0) titled ‘jcre.pdf’. I
`
`secured this file myself from http://aszt.inf.elte.hu/~javabook/java-
`
`1.2/javacard/standard/pdf/jcre.pdf. In comparing ‘jcre.pdf’ to Exhibit
`
`SAMSUNG-1011, it is my determination that Exhibit SAMSUNG-1011 is a
`
`true and correct copy of Java Card 2.1 Runtime Environment (JCRE)
`
`Specification (Revision 1.0) by Sun Microsystems.
`
`
`
`
`4
`
`5
`
`
`
`AUTHENTICATION OF EXHIBIT SAMSUNG-1012: Java Card 2.1 Virtual
`
`Machine Specification (Revision 1.0)
`
`
`
`10. I have reviewed Exhibit SAMSUNG-1012, a document entitled Java Card
`
`2.1 Virtual Machine Specification (Revision 1.0) by Sun Microsystems.
`
`
`11. Attached hereto as Appendix JCVM01 is a PDF copy of Java Card 2.1
`
`Virtual Machine Specification (Revision 1.0) titled ‘jcvm.pdf’. I secured this
`
`file myself from http://aszt.inf.elte.hu/~javabook/java-
`
`1.2/javacard/standard/pdf/jcvm.pdf. In comparing ‘jcvm.pdf’ to Exhibit
`
`SAMSUNG-1012, it is my determination that Exhibit SAMSUNG-1012 is a
`
`true and correct copy of Java Card 2.1 Virtual Machine Specification
`
`(Revision 1.0) by Sun Microsystems.
`
`
`AUTHENTICATION OF EXHIBIT SAMSUNG-1013: Java Card 2.1
`
`Application Programming Interface (Revision 1.0)
`
`
`
`
`
`12. I have reviewed Exhibit SAMSUNG-1013, a document entitled Java Card
`
`2.1 Application Programming Interface (Revision 1.0) by Sun
`
`Microsystems.
`
`
`
`5
`
`6
`
`
`
`13. Attached hereto as Appendix JCAPI01 is a PDF copy of Java Card 2.1
`
`Application Programming Interface (Revision 1.0) titled ‘jcapi.pdf’. I
`
`secured this file myself from http://aszt.inf.elte.hu/~javabook/java-
`
`1.2/javacard/standard/pdf/jcapi.pdf. In comparing ‘jcapi.pdf’ to Exhibit
`
`SAMSUNG-1013, it is my determination that Exhibit SAMSUNG-1013 is a
`
`true and correct copy of Java Card 2.1 Application Programming Interface
`
`(Revision 1.0) by Sun Microsystems.
`
`
`PUBLIC AVAILABILITY OF EXHIBITS SAMSUNG-1011, SAMSUNG-
`
`1012, SAMSUNG-1013
`
`
`
`
`
`14. Attached hereto as Appendix JCAPI02 is a PDF copy of Java Card 2.1
`
`Application Programming Interface (Revision 1.0) entitled
`
`‘JavaCard21API.pdf’. I secured this copy of Java Card 2.1 Application
`
`Programming Interface (Revision 1.0) from the Internet Archive’s Wayback
`
`Machine at
`
`https://web.archive.org/web/20030611045849/http://java.sun.com/products/j
`
`avacard/JavaCard21API.pdf. In comparing ‘JavaCard21API.pdf’to
`
`Appendix JCAPI01 and Exhibit SAMSUNG-1013, it is my determination
`
`that Appendix JCAPI02 is a true and correct copy of Java Card 2.1
`
`Application Programming Interface (Revision 1.0).
`
`6
`
`7
`
`
`
`
`15. Attached hereto as Appendix JCAPI03 is the Internet Archive record for
`
`‘JavaCard21API.pdf’ found at
`
`http://java.sun.com/products/javacard/JavaCard21API.pdf. I secured these
`
`screen captures myself from
`
`https://web.archive.org/web/20030611045849/http://java.sun.com/products/j
`
`avacard/JavaCard21API.pdf. Based on this record, The Internet Archive first
`
`preserved http://java.sun.com/products/javacard/JavaCard21API.pdf as of
`
`June 11, 2003, ensuring public access to Java Card 2.1 Application
`
`Programming Interface (Revision 1.0) as of June 11, 2003.
`
`
`16. Attached hereto as Appendix JCAPI04 is the Internet Archive record for
`
`‘Java Card 2.1 Platform’ found at
`
`http://www.java.sun.com/products/javacard/javacard21.html. I secured these
`
`screen captures myself from
`
`https://web.archive.org/web/19991103041851/http:/www.java.sun.com:80/p
`
`roducts/javacard/javacard21.html. Based on this record, The Internet
`
`Archive first preserved
`
`http://www.java.sun.com/products/javacard/javacard21.html as of November
`
`3, 1999.
`
`
`
`
`
`7
`
`8
`
`
`
`17. On page 2 of the record included in Appendix JCAPI04 under the heading
`
`‘Java Card 2.1 Platform Documentation’, there are several web links to the
`
`JavaCard 2.1 documentation discussed in this declaration: ‘Java Card 2.1
`
`API Specification (in a single PDF file)’, ‘Java Card 2.1 Runtime
`
`Environment (JCRE) Specification (PDF)’ and ‘Java Card 2.1 Virtual
`
`Machine (JCVM) Specification (PDF)’. If a user were to follow the link
`
`entitled ‘Java Card 2.1 API Specification (in a single PDF file)’, the Internet
`
`Archive presents ‘JavaCard21API.pdf’, a true and correct copy of Java Card
`
`2.1 Application Programming Interface (Revision 1.0) as presented in
`
`Appendix JCAPI02.
`
`
`18. The record presented in JCAPI04 was first preserved by the Internet Archive
`
`as of November 3, 1999. Considering the page entitled ‘Java Card 2.1
`
`Platform’ as presented in Appendix JCAPI04 advertises and features a direct
`
`link to a copy of Java Card 2.1 Application Programming Interface
`
`(Revision 1.0) and that copy is identical to the versions of Java Card 2.1
`
`Application Programming Interface (Revision 1.0) presented in Exhibit
`
`SAMSUNG-1013 and Appendix JCAPI01, it is my determination that Sun
`
`Microsystems first made Java Card 2.1 Application Programming Interface
`
`(Revision 1.0) available and accessible to the public as of November 3, 1999
`
`if not earlier.
`
`
`
`8
`
`9
`
`
`
`
`19. Although the Internet Archive does not feature full PDF copies of Java Card
`
`2.1 Runtime Environment (JCRE) Specification (Revision 1.0) or Java Card
`
`2.1 Virtual Machine Specification (Revision 1.0) in their records, the Sun
`
`Microsystems page entitled ‘Java Card 2.1 Platform Documentation’
`
`presented as Appendix JCAPI04 does advertise and present a link to both
`
`documents in the same fashion as Java Card 2.1 Application Programming
`
`Interface (Revision 1.0). As such, it is also my determination that Java Card
`
`2.1 Runtime Environment (JCRE) Specification (Revision 1.0) and Java
`
`Card 2.1 Virtual Machine Specification (Revision 1.0) were both made
`
`accessible and available to the public by Sun Microsystems as of November
`
`3, 1999 if not earlier.
`
`
`
`AUTHENTICATION AND PUBLIC AVAILABILITY OF EXHIBIT
`
`SAMSUNG-1009: RFID Handbook: Fundamentals and Applications in
`
`Contactless Smart Cards and Identification by Klaus Finkenzeller
`
`
`20. I have reviewed Exhibit SAMSUNG-1009, RFID Handbook: Fundamentals
`
`and Applications in Contactless Smart Cards and Identification by Klaus
`
`Finkenzeller, 2nd Edition.
`
`
`
`
`
`9
`
`10
`
`
`
`21. Attached hereto as Appendix FINKENZELLER01 is a true and correct copy
`
`of the MARC record for RFID Handbook: Fundamentals and Applications
`
`in Contactless Smart Cards and Identification as held by the Penn State
`
`University library. I secured this record myself from the library’s public
`
`catalog. The MARC record contained within Appendix FINKENZELLER01
`
`accurately describes the title, author, publisher, and ISBN number of RFID
`
`Handbook: Fundamentals and Applications in Contactless Smart Cards and
`
`Identification, 2nd Edition.
`
`
`
`22. Attached hereto as Appendix FINKENZELLER02 is a true and correct copy
`
`of selections from RFID Handbook: Fundamentals and Applications in
`
`Contactless Smart Cards and Identification, 2nd Edition. I secured these
`
`scans myself from Penn State University’s holdings for RFID Handbook:
`
`Fundamentals and Applications in Contactless Smart Cards and
`
`Identification. In comparing Exhibit SAMSUNG-1009 to Appendix
`
`FINKENZELLER02, it is my determination that Exhibit SAMSUNG-1009
`
`is a true and correct copy of RFID Handbook: Fundamentals and
`
`Applications in Contactless Smart Cards and Identification, 2nd Edition by
`
`Klaus Finkenzeller.
`
`
`
`
`
`10
`
`11
`
`
`
`23. The 008 field of the MARC record in Appendix FINKENZELLER01
`
`indicates the date of record creation. The 008 field of Appendix
`
`FINKENZELLER01 indicates Penn State University library first acquired
`
`this book as of December 10, 2002. Considering this information, it is my
`
`determination that RFID Handbook: Fundamentals and Applications in
`
`Contactless Smart Cards and Identification, 2nd Edition was made available
`
`to the public shortly after its initial acquisition in December 2002.
`
`
`
`CONCLUSION
`
`24. I declare under penalty of perjury that the foregoing is true and correct. I
`
`hereby declare that all statements made herein of my own knowledge are
`
`true and that all statements made on information and belief are believed to
`
`be true; and further that these statements were made the knowledge that
`
`willful false statements and the like so made are punishable by fine or
`
`imprisonment, or both, under Section 1001 of Title 18 of the United States
`
`Code and that such willful false statements may jeopardize the validity of
`
`this proceeding.
`
`Dated: 4/28/2022
`
`
`
`June Ann Munford
`
`
`
`11
`
`12
`
`
`
`J. Munford
`Curriculum Vitae
`
`Education
`
`University of Wisconsin-Milwaukee - MS, Library & Information Science, 2009
`Milwaukee, WI
`
`● Coursework included cataloging, metadata, data analysis, library systems,
`management strategies and collection development.
`● Specialized in library advocacy, cataloging and public administration.
`
`Grand Valley State University - BA, English Language & Literature, 2008
`Allendale, MI
`
`● Coursework included linguistics, documentation and literary analysis.
`● Minor in political science with a focus in local-level economics and
`government.
`
`Professional Experience
`
`Researcher / Expert Witness, October 2017 – present
`Freelance ● Pittsburgh, Pennsylvania & Grand Rapids, Michigan
`
`● Material authentication and public accessibility determination.
`Declarations of authenticity and/or public accessibility provided upon
`research completion. Experienced with appeals and deposition process.
`
`● Research provided on topics of public library operations, material
`publication history, digital database services and legacy web resources.
`
`● Past clients include Alston & Bird, Arnold & Porter, Baker Botts, Fish &
`Richardson, Erise IP, Irell & Manella, O'Melveny & Myers, Perkins-Coie,
`Pillsbury Winthrop Shaw Pittman and Slayden Grubert Beard.
`
`Library Director, February 2013 - March 2015
`Dowagiac District Library ● Dowagiac, Michigan
`
`● Executive administrator of the Dowagiac District Library. Located in
`
`Appendix CV
`
`13
`
`
`
`Southwest Michigan, this library has a service area of 13,000, an annual
`operating budget of over $400,000 and total assets of approximately
`$1,300,000.
`
`● Developed careful budgeting guidelines to produce a 15% surplus during
`the 2013-2014 & 2014-2015 fiscal years while being audited.
`
`
`
` ●
`
` Using this budget surplus, oversaw significant library investments
`including the purchase of property for a future building site, demolition of
`existing buildings and building renovation projects on the current facility.
`
` Led the organization and digitization of the library's archival records.
`
` ●
`
` ●
`
` Served as the public representative for the library, developing business
`relationships with local school, museum and tribal government entities.
`
` ●
`
` Developed an objective-based analysis system for measuring library
`services - including a full collection analysis of the library's 50,000+
`circulating items and their records.
`
`November 2010 - January 2013
`Librarian & Branch Manager, Anchorage Public Library ● Anchorage, Alaska
`
`
`● Headed the 2013 Anchorage Reads community reading campaign
`including event planning, staging public performances and creating
`marketing materials for mass distribution.
`
` ●
`
` Co-led the social media department of the library's marketing team,
`drafting social media guidelines, creating original content and instituting
`long-term planning via content calendars.
`
` ●
`
` Developed business relationships with The Boys & Girls Club, Anchorage
`School District and the US Army to establish summer reading programs for
`children.
`
`
`June 2004 - September 2005, September 2006 - October 2013
`Library Assistant, Hart Area Public Library
`Hart, MI
`
`
`● Responsible for verifying imported MARC records and original MARC
`
`Appendix CV
`
`14
`
`
`
`
`
`cataloging for the local-level collection as well as the Michigan Electronic
`Library.
`
`● Handled OCLC Worldcat interlibrary loan requests & fulfillment via
`ongoing communication with lending libraries.
`
`
`
`Professional Involvement
`
`Alaska Library Association - Anchorage Chapter
`● Treasurer, 2012
`
`
`Library Of Michigan
`● Level VII Certification, 2008
`● Level II Certification, 2013
`
`
`Michigan Library Association Annual Conference 2014
`● New Directors Conference Panel Member
`
`
`Southwest Michigan Library Cooperative
`● Represented the Dowagiac District Library, 2013-2015
`
`
`
`Professional Development
`
`Library Of Michigan Beginning Workshop, May 2008
`Petoskey, MI
`● Received training in cataloging, local history, collection management,
`children’s literacy and reference service.
`
`
`Public Library Association Intensive Library Management Training, October 2011
`Nashville, TN
`● Attended a five-day workshop focused on strategic planning, staff
`management, statistical analysis, collections and cataloging theory.
`
`
`Alaska Library Association Annual Conference 2012 - Fairbanks, February 2012
`Fairbanks, AK
`● Attended seminars on EBSCO advanced search methods, budgeting,
`cataloging, database usage and marketing.
`
`Appendix CV
`
`15
`
`
`
`Depositions
`
`2019 ● Fish & Richardson
`
`IPR Petitions of 865 Patent, Apple v. Qualcomm (IPR2018-001281 /
`
`39521-00421IP & IPR2018-01282 / 39521-00421IP2)
`
`2019 ● Erise IP
`
`Implicit, LLC v. Netscout Systems, Inc (Civil Action No. 2:18-cv-53-JRG)
`
`2019 ● Perkins-Coie
`
`Adobe Inc. v. RAH Color Technologies LLC (Cases IPR2019-00627,
`
`IPR2019-00628, IPR2019-00629 and IPR2019-00646)
`
`2020 ● O’Melveny & Myers
`
`Maxell, Ltd. v. Apple Inc. (Case 5:19-cv-00036-RWS)
`
`2021 ● Pillsbury Winthrop Shaw Pittman LLP
`
`Intel v. SRC (Case IPR2020-1449)
`
`
`Limited Case History & Potential Conflicts
`
`Alston & Bird
`
`● Nokia (v. Neptune Subsea, Xtera)
`
`Arnold & Porter
`
`● Ivantis (v. Glaukos)
`
`Erise I.P.
`
`● Apple
`
`
`v. Future Link Systems (IPRs 6317804, 6622108, 6807505, and
`
`
`7917680)
`
`
`v. INVT
`
`
`v. Navblazer LLC (Case No. IPR2020-01253)
`
`Appendix CV
`
`16
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`v. Qualcomm (IPR2018-001281, 39521-00421IP, IPR2018-01282,
`39521-00421IP2)
`v. Quest Nettech Corp, Wynn Technologies (Case No. IPR2019-
`00XXX, RE. Patent Re38137)
`
`● Fanduel (v CGT)
`
`● Garmin (v. Phillips North America LLC, Case No. 2:19-cv-6301-AB-KS
`Central District of California)
`
`● Netscout
`
`v. Longhorn HD LLC)
`
`v. Implicit, LLC (Civil Action No. 2:18-cv-53-JRG)
` ● Sony Interactive Entertainment LLC
`v. Bot M8 LLC
`v. Infernal Technology LLC
`● Unified Patents (v GE Video Compression, Civil Action No. 2:19-cv-248)
`
`
`Fish & Richardson
`
`● Apple
`
`
`v. LBS Innovations
`
`
`v. Masimo (IPR 50095-0012IP1, 50095-0012IP2, 50095-0013IP1,
`
`
`50095-0013IP2, 50095-0006IP1)
`
`
`v. Neonode
`
`
`v. Qualcomm (IPR2018-001281, 39521-00421IP, IPR2018-01282,
`
`
`39521-00421IP2)
`
`
`
`
`● Dish Network
`
`v. Realtime Adaptive Streaming, Case No 1:17-CV-02097-RBJ)
`
`Appendix CV
`
`17
`
`
`
`v. TQ Delta LLC
`
` Huawei (IPR 76933211)
`
` Kianxis
`
`
`
` ●
`
` ●
`
` ●
`
` LG Electronics (v. Bell Northern Research LLC, Case No. 3:18-cv-2864-
`CAB-BLM)
`
` ●
`
` ●
`
` Samsung (v. Bell Northern Research, Civil Action No. 2:19-cv-00286-
`JRG)
`
` Texas Instruments
`
` ●
`
`
`Irell & Manella
`
`● Curium
`
`O’Melveny & Myers
`
`● Apple (v. Maxell, Case 5:19-cv-00036-RWS)
`
`Perkins-Coie
`
`● TCL Industries (v. Koninklijke Philips NV, PTAB Case Nos. IPR2021-
`
`00495, IPR2021-00496, and IPR2021-00497)
`
`Pillsbury Winthrop Shaw Pittman
`
`● Intel (v. FG SRC LLC, Case No. 6:20-cv-00315 W.D. Tex)
`
` Metaswitch
`
` MLC Intellectual Property (v. MicronTech, Case No. 3:14-cv-03657-SI)
`
` Realtek Semiconductor
`
` Quectel
`
` ●
`
` ●
`
` ●
`
`Appendix CV
`
`18
`
`
`
`Java Card 2.1 Application Programming
`Interface
`
`Sun Microsystems, Inc.
`901 San Antonio Road
`Palo Alto, CA 94303 USA
`650 960-1300
`
`Final Revision 1.0, February 24, 1999
`
`Appendix JCAPI01
`
`19
`
`
`
`Copyright 1999 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94043 USA.
`All rights reserved. Copyright in this document is owned by Sun Microsystems, Inc.
`
`Sun Microsystems, Inc. (SUN) hereby grants to you at no charge a nonexclusive, nontransferable, worldwide, limited license
`(without the right to sublicense) under SUN’s intellectual property rights that are essential to practice the Java Card API
`Specification ("Specification") to use the Specification for internal evaluation purposes only. Other than this limited license, you
`acquire no right, title, or interest in or to the Specification and you shall have no right to use the Specification for productive or
`commercial use.
`
`RESTRICTED RIGHTS LEGEND
`
`Use, duplication, or disclosure by the U.S. Government is subject to restrictions of FAR 52.227-14(g)(2)(6/87) and FAR 52.227-
`19(6/87), or DFAR 252.227-7015(b)(6/95) and DFAR 227.7202-1(a).
`
`SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE, EITHER
`EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
`FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY
`DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE
`OR ITS DERIVATIVES.
`
`TRADEMARKS
`
`Sun, the Sun logo, Sun Microsystems, JavaSoft, JavaBeans, JDK, Java, Java Card, HotJava, HotJava Views, Visual Java, Solaris,
`NEO, Joe, Netra, NFS, ONC, ONC+, OpenWindows, PC-NFS, EmbeddedJava, PersonalJava, SNM, SunNet Manager, Solaris
`sunburst design, Solstice, SunCore, SolarNet, SunWeb, Sun Workstation, The Network Is The Computer, ToolTalk, Ultra,
`Ultracomputing, Ultraserver, Where The Network Is Going, Sun WorkShop, XView, Java WorkShop, the Java Coffee Cup logo,
`and Visual Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
`
`THIS PUBLICATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
`IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
`FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. THIS PUBLICATION COULD
`INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY
`ADDED TO THE INFORMATION HEREIN; THESE CHANGES WILL BE INCORPORATED IN NEW EDITIONS
`OF THE PUBLICATION. SUN MICROSYSTEMS, INC. MAY MAKE IMPROVEMENTS AND/OR CHANGES IN
`THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THIS PUBLICATION AT ANY TIME.
`
`Appendix JCAPI01
`
`20
`
`
`
`Java Card API
`
`Table of Contents
`Overview
`.
`.
`.
`.
`.
`.
`.
`.
`Class Hierarchy
`.
`.
`.
`.
`.
`.
`Package java.lang
`.
`.
`.
`.
`.
`.
`Class ArithmeticException
`.
`.
`.
`.
`Class ArrayIndexOutOfBoundsException
`Class ArrayStoreException
`.
`.
`.
`.
`Class ClassCastException
`.
`.
`.
`.
`Class Exception
`.
`.
`.
`.
`.
`.
`.
`Class IndexOutOfBoundsException
`.
`.
`Class NegativeArraySizeException
`.
`.
`Class NullPointerException
`.
`.
`.
`.
`Class Object
`.
`.
`.
`.
`.
`.
`.
`Class RuntimeException
`.
`.
`.
`.
`Class SecurityException
`.
`.
`.
`.
`.
`Class Throwable
`.
`.
`.
`.
`.
`.
`Package javacard.framework
`.
`.
`.
`Class AID
`.
`.
`.
`.
`.
`.
`.
`.
`Class APDU
`.
`.
`.
`.
`.
`.
`.
`Class APDUException
`.
`.
`.
`.
`.
`Class Applet
`.
`.
`.
`.
`.
`.
`.
`Class CardException
`.
`.
`.
`.
`.
`Class CardRuntimeException
`.
`.
`.
`Interface ISO7816
`.
`.
`.
`.
`.
`.
`Class ISOException
`.
`.
`.
`.
`.
`.
`Class JCSystem
`.
`.
`.
`.
`.
`.
`.
`Class OwnerPIN
`.
`.
`.
`.
`.
`.
`Interface PIN
`.
`.
`.
`.
`.
`.
`.
`Class PINException
`.
`.
`.
`.
`.
`.
`Interface Shareable
`.
`.
`.
`.
`.
`.
`Class SystemException
`.
`.
`.
`.
`.
`Class TransactionException
`.
`.
`.
`.
`Class UserException
`.
`.
`.
`.
`.
`Class Util
`.
`.
`.
`.
`.
`.
`.
`.
`Package javacard.security
`.
`.
`.
`.
`Class CryptoException
`.
`.
`.
`.
`.
`Interface DESKey
`.
`.
`.
`.
`.
`.
`Interface DSAKey
`.
`.
`.
`.
`.
`.
`Interface DSAPrivateKey
`.
`.
`.
`.
`Interface DSAPublicKey
`.
`.
`.
`.
`Interface Key
`.
`.
`.
`.
`.
`.
`
`.
`
`Java Card 2.1 API
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`1
`4
`6
`9
`11
`13
`15
`17
`19
`21
`23
`25
`27
`29
`31
`33
`35
`39
`51
`56
`63
`66
`69
`76
`78
`87
`92
`95
`98
`99
`103
`107
`110
`117
`119
`123
`125
`129
`131
`133
`
`Final Revision 1.0 Copyright © February 24, 1999 Sun Microsystems, Inc. i
`
`Appendix JCAPI01
`
`21
`
`
`
`Java Card 2.1 API
`
`.
`
`Class KeyBuilder
`.
`.
`Class MessageDigest
`.
`.
`Interface PrivateKey
`.
`.
`Interface PublicKey
`.
`.
`.
`Interface RSAPrivateCrtKey
`Interface RSAPrivateKey
`.
`Interface RSAPublicKey
`.
`Class RandomData
`.
`.
`.
`Interface SecretKey
`.
`.
`.
`Class Signature
`.
`.
`.
`.
`Package javacardx.crypto
`.
`Class Cipher
`.
`.
`.
`.
`Interface KeyEncryption
`.
`Index
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`135
`141
`146
`147
`148
`155
`158
`161
`164
`165
`176
`177
`186
`188
`
`ii Final Revision 1.0 Copyright © February 24, 1999 Sun Microsystems, Inc.
`
`Appendix JCAPI01
`
`22
`
`
`
`Java Card 2.1 API
`
`Java Card TM 2.1 Platform API Specification
`Final Revision 1.0
`
`This document is the specification for the Java Card 2.1 Application Programming Interface.
`
`See:
` Description
`
`Packages
`
`java.lang
`
`Provides classes that are fundamental to the design of the Java Card technology
`subset of the Java programming language.
`
`javacard.framework
`
`Provides framework of classes and interfaces for the core functionality of a Java
`Card applet.
`
`javacard.security
`
`Provides the classes and interfaces for the Java Card security framework.
`
`javacardx.crypto
`
`Extension package containing security classes and interfaces for
`export-controlled functionality.
`
`
`
`
`
`This document is the specification for the Java Card 2.1 Application Programming Interface.
`
`Final Revision 1.0 Copyright © February 24, 1999 Sun Microsystems, Inc. 1
`
`Appendix JCAPI01
`
`23
`
`
`
`Java Card 2.1 API
`
`Java Card 2.1 API Notes
`
`Referenced Standards
`
`ISO - International Standards Organization
`
`Information Technology - Identification cards - integrated circuit cards with contacts: ISO 7816
`Information Technology - Security Techniques - Digital Signature Scheme Giving Message
`Recovery: ISO 9796
`Information Technology - Data integrity mechanism using a cryptographic check function employing
`a block cipher algorithm: ISO 9797
`Information technology - Security techniques - Digital signatures with appendix : ISO 14888
`
`RSA Data Security, Inc.
`
`RSA Encryption Standard: PKCS #1 Version 2.0
`Password-Based Encryption Standard: PKCS #5 Version 1.5
`
`EMV
`
`The EMV ’96 ICC Specifications for Payments systems Version 3.0
`
`IPSec
`
`The Internet Key Exchange ( IKE ) document RFC 2409 (STD 1)
`
`Standard Names for Security and Crypto
`
`SHA (also SHA-1): Secure Hash Algorithm, as defined in Secure Hash Standard, NIST FIPS 180-1.
`MD5: The Message Digest algorithm RSA-MD5, as defined by RSA DSI in RFC 1321.
`RIPEMD-160 : as defined in ISO/IEC 10118-3:1998 Information technology -- Security techniques
`-- Hash-functions -- Part 3: Dedicated hash-functions
`DSA: Digital Signature Algorithm, as defined in Digital Signature Standard, NIST FIPS 186.
`DES: The Data Encryption Standard, as defined by NIST in FIPS 46-1 and 46-2.
`RSA: The Rivest, Shamir and Adleman Asymmetric Cipher algorithm.
`
`2 Final Revision 1.0 Copyright © February 24, 1999 Sun Microsystems, Inc.
`
`Appendix JCAPI01
`
`24
`
`
`
`Java Card 2.1 API
`
`Parameter Checking
`
`Policy
`All Java Card API implementations must conform to the Java model of parameter checking. That is, the
`API code should not check for those parameter errors which the VM is expected to detect. These include
`all parameter errors, such as null pointers, index out of bounds, and so forth, that result in standard
`runtime exceptions. The runtime exceptions that are thrown by the Java Card VM are:
`
`ArithmeticException
`ArrayStoreException
`ClassCastException
`IllegalArgumentException
`IllegalStateException
`IndexOutOfBoundsException
`ArrayIndexOutOfBoundsException
`NegativeArraySizeException
`NullPointerException
`SecurityException
`
`Exceptions to the Policy
`In some cases, it may be necessary to explicitly check parameters. These exceptions to the policy are
`documented in the Java Card API specification. A Java Card API implementation must not perform
`parameter checking with the intent to avoid runtime exceptions, unless this is clearly specified by the Java
`Card API specification.
`
`
`Note: If multiple erroneous input parameters exist, any one of several runtime exceptions will be
`thrown by the VM. Java programmers rely on this behavior, but they do not rely on getting a specific
`exception. It is not necessary (nor is it reasonable or practical) to document the precise error handling
`for all possible combinations of equivalence classes of erroneous inputs. The value of this behavior is
`that the logic error in the calling program is detected and exposed via the runtime exception
`mechanism, rather than being masked by a normal return.
`
`Final Revision 1.0 Copyright © February 24, 1999 Sun Microsystems, Inc. 3
`
`Appendix JCAPI01
`
`25
`
`
`
`Java Card 2.1 API
`
`Hierarchy For All Packages
`
`Package Hierarchies:
`java.lang, javacard.framework, javacard.security, javacardx.crypto
`
`Class Hierarchy
`
`class java.lang.Object
`class javacard.framework.AID
`class javacard.framework.APDU
`class javacard.framework.Applet
`class javacardx.crypto.Cipher
`class javacard.framework.JCSystem
`class javacard.security.KeyBuilder
`class javacard.security.MessageDigest
`class javacard.framework.OwnerPIN (implements javacard.framework.PIN)
`class javacard.security.RandomData
`class javacard.security.Signature
`class java.lang.Throwable
`class java.lang.Exception
`class javacard.framework.CardException
`class javacard.framework.UserException
`class java.lang.RuntimeException
`class java.lang.ArithmeticException
`class java.lang.ArrayStoreException
`class javacard.framework.CardRuntimeException
`class javacard.framework.APDUException
`class javacard.security.CryptoException
`class javacard.framework.ISOException
`class javacard.framework.PINException
`class javacard.framework.SystemException
`class javacard.framework.TransactionException
`class java.lang.ClassCastException
`class java.lang.IndexOutOfBoundsException
`class java.lang.ArrayIndexOutOfBoundsException
`class java.lang.NegativeArraySizeException
`class java.lang.NullPointerException
`class java.lang.SecurityException
`class javacard.framework.Util
`
`4 Final Revision 1.0 Copyright © February 24, 1999 Sun Microsystems, Inc.
`
`Appendix JCAPI01
`
`26
`
`
`
`Java Card 2.1 API
`
`Interface Hierarchy
`
`interface javacard.security.DSAKey
`interface javacard.security.DSAPrivateKey(also extends javacard.security.PrivateKey)
`interface javacard.security.DSAPublicKey(also extends javacard.security.PublicKey)
`interface javacard.framework.ISO7816
`interface javacard.security.Key
`interface javacard.security.PrivateKey
`interface javacard.security.DSAPrivateKey(also extends javacard.security.DSAKey)
`interface javacard.security.RSAPrivateCrtKey
`interface javacard.security.RSAPrivateKey
`interface javacard.security.PublicKey
`interface javacard.security.DSAPublicKey(also extends javacard.security.DSAKey)
`interface javacard.security.RSAPublicKey
`interface javacard.security.SecretKey
`interface javacard.security.DESKey
`interface javacardx.crypto.KeyE