| By Frank Jennings | Article Rating: |
|
| October 31, 2003 12:00 AM EST | Reads: |
7,660 |
Well RMI is good as an optimal distributed solution, but invoking runtime instances from an arbitrary VM of different security context may compromise the object integrity to some extent. Not always, unless you adopt to secure transport over RMI. A convenient solution is to sign the object and seal it with a key, which can be made available at the decrypting VM. There is a widespread misconception about these two really non morbid classes 'SealedObject' and SignedObject' in Java. And developers often ask around for suggestions as when to seal and when to sign an object. As far as I concede, signing an object just guarantees data integrity. But sealing an object offers data confidentiality.
In this month's code stack, we shall create a self signing class, which signs its own object with a generated private key and later seals that with a secret key. This sealed object can be serialized and passed across VMs, where the consumer can decrypt the object with the same secret key and can verify the data integrity with the public key. At least now the object authenticity is as good as the cryptographic algorithm used and not left to the amity of the transit methods.
And remember; do not sign a sealed object. But seal a signed object. Though you can do either way, signing an encrypted object is sometimes dangerous. Typical usage of this method is when your application gets started, it can decrypt and verify the object before switching back to previously saved state.
Published October 31, 2003 Reads 7,660
Copyright © 2003 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Frank Jennings
Frank Jennings works in the Communication Designs Group of Pramati Technologies
![]() |
Barry 11/13/03 03:04:44 PM EST | |||
The Jini team has produced an version of RMI (called JERI) that enables secure dynamic class loading. See http://java.sun.com/products/jini/2.0/doc/api/net/jini/jeri/package-summ... |
||||
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?

















