About: Java Cryptography Extension is a research topic. Over the lifetime, 19 publications have been published within this topic receiving 270 citations.
TL;DR: This chapter discusses Object-Oriented Design Using Java, a First Look at Java Networking in Action, and Java RMI: Remote Method Invocation, which focuses on RMI Client Methodology.
Abstract: (NOTE: All chapters conclude with a Summary.) Introduction. 1. Advanced Java. Basic Java. Object-Oriented Design Using Java. Applying Good Object-Oriented Design Skills. OOP-Strong, Efficient, and Effective. Java I/O Routines. Streams. The Java Core System. Files. The Abstract Window Toolkit and Swing Classes. I/O in Short. Introduction to Threading in Java. What Are Threads? Threading in Java. Thread Summary. Object Serialization. What Is Serialization? Handling Object Relationships. The Output Streams. Handling Object Webs. Reading Objects. Security and Fingerprinting. Serialization Overview. Performance. Performance Issues. Summary of Performance Issues. A First Look at Java Networking in Action. Pulling It All Together. 2. TCP/IP Fundamentals. In the Beginning? The Protocol Stack. The OSI Stack. The TCP/IP Stack. IP Addresses. Protocols. DNS. HTTP. CORBA and IIOP. RMI. JINI. 3. Java Sockets and URLs. Sockets and Interprocess Communication. Introduction to IPC. URL and URL Connection. Summary of Sockets. Client/Server Methodology. The Pizza Order Protocol (TPOP). The TPOP Server. Server Methodology. Setting Up the Server. Initializing the Server Socket. Creating the Thread. Detecting Information and Starting the Thread. Gathering Information. The TPOP Client. Developing Clients for Servers. Clients and Servers in Short. UDP Client. Datagrams. Creating a UDP Sender. Featured Application. Messaging Format. Client. Server. 4. Java Database Connectivity. Inside JDBC. Database Drivers. JDBC in General. Databases and SQL. Creating an Access Database. Simple SQL. Summary. Retrieving Information. Creating the User Interface. Database Security. Using the JDBC Driver. Creating Queries. Database and SQL Overview. Storing Information. Creating the Connection. Forming a Statement. A JDBC Version of the Featured App. Creating the Database. Mapping the Network Module to Database Queries. Developing the Client. Establishing the Connection. Making an SQL Invocation. Invoking SQL to Make a Change. Shutting Down the Connection. 5. Java RMI: Remote Method Invocation. Distributed Objects. What Is RMI? How Does RMI Work? Local vs. Remote Objects. Applet vs. Application. Dynamic Method Invocations. Overview of RMI. Client. RMI Client Methodology. Catching Exceptions. Handling Security Constraints. Client Overview. Server. RMI Server Classes. Creating a Server Interface. Implementing a Server. RMI Registry Classes. RMI Server Security Constraints. Generating Stubs and Skeletons. Server Overview. Callbacks. Why Callbacks? Creating the Callback. Implementing the Callback Client. Filling in the Callback Method. Registering Callbacks. Invoking Callbacks. Callbacks in Short. A Java RMI Version of the Featured App. RMI Interface. RMI Client. RMI Server. New in JDK 1.2. Activatable Objects. Custom Socket Factories. 6. Java IDL: Interface Definition Language. CORBA. CORBA-Style Communication. The CORBA Vision. Communication with CORBA. Separation of Interface and Implementation. Different Vendors, Different ORBs. Advantages of CORBA. Common Object Services. Object Administration. Clients and Servers and Networks, Oh My! What CORBA Means for You. The Interface Definition Language. Interfaces. Modules. Interface Inheritance. Variables and Structures. Methods. Constructed Data Types. Exceptions. Overview of the IDL. Language Mappings. What Exactly Are Language Mappings? The Sun Microsystems Java Language Mapping. Interfaces, Modules, and Methods. Interface Inheritance. Variables and Structures. Constructed Data Types. Exceptions. Java and CORBA Together. CORBA Clients. Designing a User Interface. Defining the Problem. The Cooler Interface Definition. The Cooler User Interface. Initializing the Client ORB. Client Overview. CORBA Servers. Defining an Interface and Generating Code. Server Overview. CORBA Callbacks. Java Callbacks. Creating a Callback. Registering a Callback. Receiving and Handling a Callback. A Java IDL Version of the Featured App. Server Interface. NetworkModule. Calendar Server. 7. Web Servers, Server-Side Java, and More. Inside an HTTP Server. Web Server Architecture. The HTTP Protocol. Using a Web Server. Advanced Web Server Features. HTTP Server Overview. Common Gateway Interface and CGI Scripts. Servlets. What Is a Servlet? Servlets Overview. Dynamic Documents. Creating the Servlet. A Servlet Version of the Featured App. doGet( ). getAppointments( ). newAppointmentForm( ). insertNewAppointment( ). Java Server Pages. Microsoft Active Server Pages (ASP). PHP. Allaire Cold Fusion. On to JSP. Scriptlets and Expression Evaluation. The Featured Application as a JSP. Dynamic Documents Overview. Multipurpose Servers. 8. Java Beans. Component Models. The Competition. Overview of the Java Beans Component Model. Interface Publishing. Event Handling. Persistence. Layout. Builder Support. Distributed Beans. Why Use Beans? Java Beans. Component Interaction. Network Communication. User Interface Issues. Persistence. Events. Properties. Beans in a Nutshell. Making a Bean. Using Java Beans. Creating a Java Beans Application. A Simple Example. Instantiating Components. Connecting Beans Events. Bean Introspection. Server-Side Java Beans. Enterprise Java Beans. Summary. COM/DCOM and ActiveX. What Is ActiveX? ActiveX Controls. ActiveX and Java. Java Native Interface (JNI). 9. Application Servers. High-Performance Web Servers. Integrated Development Environment. Interfacing to Enterprise Resource Planning Systems. Ability to Interface with Transaction Processing Monitors. Support Stateful Applications. Connection Pooling of Database Connections. Access to Legacy Applications and Legacy Databases. Scalability Through Load Balancing. Automatic Fail- Over. Support of the Enterprise Java Beans Specification. 10. Jini: Sun's Technology of Impromptu Networks. Examples of Jini. Where Did Jini Come From? Our Working Jini Example. Basic Jini Concepts: "Discovery, Join, and Lookup Oh My!" Server. Client. Getting Started with Jini. Let's Get to the Code! Implementing the Jini Server. Implementing the Jini Client. Running the Jini Server. Running the Jini Client. Good References to Get You Started. 11. JMX/JMAPI: Java Management API. What Is Network Management? Network Management at a Glance. Simple Network Management Protocol. The Unique Management Problems of Java. Network Administration Overview. Modifying Clients for JMAPI. AVM Base Classes. AVM Help Classes. Managed Object Interfaces. Setting Up Notifications. Modifying Servers for JMAPI. 12. What Are Directory Services? Some Background. Introducing Java Naming Directory Interface. Using the JNDI to Access LDAP-Based Data. Setting up the Airius Directory. The Airius Schema. Connecting. Searching. Adding Persons to the Directory. Modifying Information Already in the Directory. Removing Entries from the Directory. Authentication. 13. Java and Security. Safety in Java. The Java Security Model. Easy to Use Fine-Grained Access Control. Easy to Configure Security Policy. Easy to Extend Access Control Structure. Easy to Extend Security Checks to Applications. Java Class Security. The Bytecode Verifier. The Class Loader. The Security Manager. Security Problems and Java Security Testing. Encryption. Java Cryptography Extension (JCE). Authentication. Kerberos. Digital Signatures and Public Key Encryption. Secure Sockets Layer. The Government and Security. Export Control. The "Clipper" Controversy. 14. Making an Architectural Decision. Java Sockets. Flexibility. Simplicity. Java RMI Decisions. RMI Advantages. RMI Disadvantages. Three-Tier Applications in RMI. Java IDL. Advantages of Java IDL. Disadvantages of Java IDL. Java IDL Implementations. Java IDL Is Robust. Java IDL Is Difficult. Java IDL Is Powerful. JDBC. Why JDBC Is Not Enough. JDBC and Java IDL or Java RMI. JDBC Alone. JDBC Overview. Other Java Technologies. When to Use Beans. When to Use Servlets and Java Server Pages. Application Servers. Glossary. Index. About the CD-ROM.
TL;DR: Expert Java architect Pankaj Kumar helps developers make sense of Java's increasingly rich security APIs, tools, patterns, and best practices-showing how to use each of them in the right place, at the right time, and in theright way.
Abstract: J2EE developers have an extraordinary array of powerful options for securing their Web services, Web applications, EJB components and RMI objects. Now, expert Java architect Pankaj Kumar helps developers make sense of Java's increasingly rich security APIs, tools, patterns, and best practices-showing how to use each of them in the right place, at the right time, and in the right way.Kumar covers every significant J2SE and J2EE security mechanism, presenting practical implementation techniques for the entire J2EE project lifecycle: analysis, design, development, deployment and operations. The book's example-rich coverage includes: Implementing cryptography with the JCA (Java Cryptography Architecture) and JCE (Java Cryptography Extension) security APIs Building PKI systems with Java: implementing X.509 certificates, Certification Authorities, Certificate Revocation Lists, and repositories Java security managers, policy files, and JAAS: implementing access control based on code origin, code signer and user credentials Securing the wire: Using SSL and the JSSE API to secure data exchange over unprotected networks Ensuring XML message integrity, authentication, and confidentiality with the standards: XML Signature & XML Encryption using the VeriSign TSIK, and Infomosaic SecureXML libraries Addressing security issues in RMI-based distributed applications Developing and deploying servlets and EJBs for authenticated and secure access Securing Web services with transport- and message-based security: SSL for transport-based and WS Security for message-based security Covering security aspects of best-of-breed products: Apache Tomcat, Apache Axis, and BEA WebLogic Server.
TL;DR: A novel method to prevent counterfeit products using cryptography, QR code and webservice is presented, which can be implemented even by small manufacturers with nominal cost by obtaining a key pair and creating a scanning app and Webservices.
Abstract: Counterfeit production is a threat for every genuine business causing damage to their brand image and stealing their revenues. The aim of this paper is topresenta novel method to prevent counterfeit products using cryptography, QR code and webservice. The method requires that every original product manufacturer obtain a cryptographic key pair, securely store their private key and publish their public key on their website as a QR code. The product manufacturer needs to print a unique item code on their product packs and provide inside the pack a QR code encoding the ciphertext generated by encrypting the item code with their private key. For product verification by buyers, the manufacture is required to provide a QR code scanning app for download on their website, Google Play Store or iPhone App Store. The scanning app should have additional cryptographic functionality to decrypt ciphertext of the item code encoded in the QR code.The manufacturer also needs to launch a simple webservice on his hosting server to accept requests from the mobile app and verify the item code and buyer’s name in its database. Technicalimplementation and the verification process are described in detail through figures and flowchart. The method can be implemented even by small manufacturers with nominal cost by obtaining a key pair and creating a scanning app and webservices. We have also tested the method with an actual software code written for cryptographic operations using the Java Cryptography Extension and QR code operations using Google Zxing libraries.
TL;DR: Enterprise Java(TM) Security: Building Secure J2EE (TM) Applications provides application developers and programmers with the know-how they need to utilize the latest Java security technologies in building secure enterprise infrastructures.
Abstract: Enterprise Java(TM) Security: Building Secure J2EE(TM) Applications provides application developers and programmers with the know-how they need to utilize the latest Java security technologies in building secure enterprise infrastructures. Written by the leading Java security experts at IBM, this comprehensive guide covers the current status of the Java(TM) 2 Platform, Enterprise Edition (J2EE), and Java(TM) 2 Platform, Standard Edition (J2SE(TM)), security architectures and offers practical solutions and usage patterns to address the challenges of Java security.To aid developers who need to build secure J2EE applications, Enterprise Java(TM) Security covers at length the J2EE security technologies, including the security aspects of servlets, JavaServer Pages(TM) (JSP(TM)), and Enterprise JavaBeans(TM) (EJB(TM))-technologies that are at the core of the J2EE architecture. In addition, the book covers Web Services security.Examples and sample code are provided throughout the book to give readers a solid understanding of the underlying technology.The relationship between Java and cryptographic technologies is covered in great detail, including: Java Cryptography Architecture (JCA) Java Cryptography Extension (JCE) Public-Key Cryptography Standards (PKCS) Secure/Multipurpose Internet Mail Extensions (S/MIME) Java Secure Socket Extension (JSSE)
TL;DR: Empirical results obtained from Java implementation of Elliptic curve Cryptosystem (ECC) indicate that ECC outperforms the other encryption/decryption algorithms considered in this study regarding the security strength, speed, and key size of ECC.
Abstract: In this paper we present empirical results obtained from Java implementation of Elliptic curve Cryptosystem (ECC) as an asymmetric block cipher algorithm and a set of symmetric block cipher algorithms namely Triple-Data Encryption Standard (T-DES), Advanced Encryption Standard (AES), and Blowfish. Performance evaluation based on CPU execution time is presented under WinXP and Linux. We used in our implementation Java programming language, Java Cryptography Architecture (JCA) and Java Cryptography Extension (JCE). The evaluation of the performance of these algorithms is done for secret key generation and encryption and decryption operations. Results indicated that ECC outperforms the other encryption/decryption algorithms considered in this study regarding the security strength, speed, and key size of ECC. Also, ECC’s performance advantage increases as security needs increases for newly emerging applications.