<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-24326</id>
	<title>Nabble - JetS3t Users</title>
	<updated>2009-12-06T22:32:43Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/JetS3t-Users-f24326.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/JetS3t-Users-f24326.html" />
	<subtitle type="html">A general discussion list for the projects end users.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26673123</id>
	<title>Re: Updating ACLs for existing objects in S3</title>
	<published>2009-12-06T22:32:43Z</published>
	<updated>2009-12-06T22:32:43Z</updated>
	<author>
		<name>Jawahar Nayak</name>
	</author>
	<content type="html">&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;botemout wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;... &amp;nbsp;I'll be doing very large buckets so hopefully this can be done with the multi* functions.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
Hi,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Why you bother about the sample code ? Using BucketExplorer, you can set the acls for very large buckets. You can ask BucketExplorer to start multiple threads to update acl parallelly. It also provides the control over the process.
&lt;br&gt;&lt;br&gt;Suppose, you started the process to update acl for 5 lac objects. You can stop the process in between and restart it from the point you stopped lasttime. It also gives u the statistics, how many objects have been updated and remaining.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Updating-ACLs-for-existing-objects-in-S3-tp26636381p26673123.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26636381</id>
	<title>Updating ACLs for existing objects in S3</title>
	<published>2009-12-04T11:39:36Z</published>
	<updated>2009-12-04T11:39:36Z</updated>
	<author>
		<name>botemout</name>
	</author>
	<content type="html">Greetings,
&lt;br&gt;&lt;br&gt;I've looked through the jets3t code (the sample code and Synchronize.java, mostly) and it's not obvious to me how I can, efficiently and, hopefully, quickly, add a new user permission (using CanonicalUser), to the objects that are already up there. &amp;nbsp;It must be doable (Bucket Explorer, s3fox, etc... manage it ;-)
&lt;br&gt;&lt;br&gt;Could someone point me to some example code? &amp;nbsp;I'll be doing very large buckets so hopefully this can be done with the multi* functions.
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;JR</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Updating-ACLs-for-existing-objects-in-S3-tp26636381p26636381.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25207524</id>
	<title>Re: NullPointer Exception in RestS3Service</title>
	<published>2009-08-29T17:18:15Z</published>
	<updated>2009-08-29T17:18:15Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">I have applied a fix for this issue and made the S3ServiceException error reporting a bit more accurate in general. When response information is not available, such as when there is no Internet access, the S3ServiceException class will not print out response attributes for which it has no meaningful information.&lt;br&gt;

&lt;br&gt;Thanks very much for the bug report and suggested fix.&lt;br&gt;&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Aug 26, 2009 at 10:59 PM, Jawahar Nayak &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25207524&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jlal@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;br&gt;
 In the performRequest() method of Rests3Service class if any exception is&lt;br&gt;
thrown then it constructs the instance of S3Exception. Suppose if the&lt;br&gt;
network is disabled then the exception is thrown. In catch block it&lt;br&gt;
constructs the S3ServiceException&lt;br&gt;
&lt;br&gt;
as&lt;br&gt;
&lt;br&gt;
&amp;lt;Code&amp;gt;&lt;br&gt;
&lt;br&gt;
s3ServiceException = new S3ServiceException(&amp;quot;Request Error.&amp;quot;, t);&lt;br&gt;
&lt;br&gt;
s3ServiceException.setRequestVerb(httpMethod.getName());&lt;br&gt;
&lt;br&gt;
s3ServiceException.setRequestPath(httpMethod.getPath());&lt;br&gt;
&lt;br&gt;
s3ServiceException.setResponseCode(httpMethod.getStatusCode());&lt;br&gt;
// This statement is throwing NullPointerException&lt;br&gt;
&lt;br&gt;
s3ServiceException.setResponseStatus(httpMethod.getStatusText());&lt;br&gt;
&lt;br&gt;
&amp;lt;/Code&amp;gt;&lt;br&gt;
&lt;br&gt;
The following is the exception&lt;br&gt;
&amp;lt;Exception&amp;gt;&lt;br&gt;
&lt;br&gt;
java.lang.NullPointerException&lt;br&gt;
        at&lt;br&gt;
org.apache.commons.httpclient.HttpMethodBase.getStatusCode(HttpMethodBase.java:570)&lt;br&gt;
        at&lt;br&gt;
org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:1064)&lt;br&gt;
        at&lt;br&gt;
org.jets3t.service.impl.rest.httpclient.RestS3Service.performRestHead(RestS3Service.java:1637)&lt;br&gt;
        at&lt;br&gt;
org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectImpl(RestS3Service.java:3373)&lt;br&gt;
        at&lt;br&gt;
org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectDetailsImpl(RestS3Service.java:3245)&lt;br&gt;
        at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1990)&lt;br&gt;
        at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1335&lt;br&gt;
&lt;br&gt;
&amp;lt;/Exception&amp;gt;&lt;br&gt;
&lt;br&gt;
if we are running upload, we always get&lt;br&gt;
&lt;br&gt;
s3ServiceEventPerformed(CreateObjectsEvent event) {&lt;br&gt;
&lt;br&gt;
// We always get event.getEventCode() == CreateObjectsEvent.EVENT_COMPLETED&lt;br&gt;
 if the network is disabled.&lt;br&gt;
&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
I fixed the problem in this way.&lt;br&gt;
          try{&lt;br&gt;
&lt;br&gt;
s3ServiceException.setResponseCode(httpMethod.getStatusCode());&lt;br&gt;
            }catch(NullPointerException ne){&lt;br&gt;
                s3ServiceException.setResponseCode(404);&lt;br&gt;
            }&lt;br&gt;
&lt;br&gt;
            try{&lt;br&gt;
&lt;br&gt;
s3ServiceException.setResponseStatus(httpMethod.getStatusText());&lt;br&gt;
            }catch(NullPointerException ne){&lt;br&gt;
                s3ServiceException.setResponseStatus(&amp;quot;Network Problem&amp;quot;);&lt;br&gt;
            }&lt;br&gt;
&lt;br&gt;
Its working for me.&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/NullPointer-Exception-in-RestS3Service-tp25166654p25166654.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/NullPointer-Exception-in-RestS3Service-tp25166654p25166654.html&lt;/a&gt;&lt;br&gt;


Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25207524&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25207524&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/NullPointer-Exception-in-RestS3Service-tp25166654p25207524.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25166654</id>
	<title>NullPointer Exception in RestS3Service</title>
	<published>2009-08-26T22:59:06Z</published>
	<updated>2009-08-26T22:59:06Z</updated>
	<author>
		<name>Jawahar Nayak</name>
	</author>
	<content type="html">&amp;nbsp;In the performRequest() method of Rests3Service class if any exception is thrown then it constructs the instance of S3Exception. Suppose if the network is disabled then the exception is thrown. In catch block it constructs the S3ServiceException 
&lt;br&gt;&lt;br&gt;as
&lt;br&gt;&lt;br&gt;&lt;b&gt;&amp;lt;Code&amp;gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;s3ServiceException = new S3ServiceException(&amp;quot;Request Error.&amp;quot;, t); 
&lt;br&gt;&lt;br&gt;s3ServiceException.setRequestVerb(httpMethod.getName());
&lt;br&gt;&lt;br&gt;s3ServiceException.setRequestPath(httpMethod.getPath());
&lt;br&gt;&lt;br&gt;s3ServiceException.setResponseCode(httpMethod.getStatusCode());
&lt;br&gt;// This statement is throwing NullPointerException
&lt;br&gt;&lt;br&gt;s3ServiceException.setResponseStatus(httpMethod.getStatusText());
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;b&gt;&amp;lt;/Code&amp;gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;The following is the exception
&lt;br&gt;&lt;b&gt;&amp;lt;Exception&amp;gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;java.lang.NullPointerException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.commons.httpclient.HttpMethodBase.getStatusCode(HttpMethodBase.java:570)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:1064)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRestHead(RestS3Service.java:1637)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectImpl(RestS3Service.java:3373)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.impl.rest.httpclient.RestS3Service.getObjectDetailsImpl(RestS3Service.java:3245)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1990)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.S3Service.getObjectDetails(S3Service.java:1335
&lt;br&gt;&lt;br&gt;&lt;b&gt;&amp;lt;/Exception&amp;gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;if we are running upload, we always get
&lt;br&gt;&lt;br&gt;s3ServiceEventPerformed(CreateObjectsEvent event) {
&lt;br&gt;&lt;br&gt;// We always get event.getEventCode() == CreateObjectsEvent.EVENT_COMPLETED
&lt;br&gt;&amp;nbsp;if the network is disabled.
&lt;br&gt;&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;b&gt;I fixed the problem in this way.&lt;/b&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s3ServiceException.setResponseCode(httpMethod.getStatusCode());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }catch(NullPointerException ne){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s3ServiceException.setResponseCode(404);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s3ServiceException.setResponseStatus(httpMethod.getStatusText());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }catch(NullPointerException ne){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s3ServiceException.setResponseStatus(&amp;quot;Network Problem&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } 
&lt;br&gt;&lt;br&gt;Its working for me. </content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/NullPointer-Exception-in-RestS3Service-tp25166654p25166654.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24786065</id>
	<title>Re: Changes in Jets3t code for TargetGrant in BucketLogging</title>
	<published>2009-08-02T23:39:24Z</published>
	<updated>2009-08-02T23:39:24Z</updated>
	<author>
		<name>James Murty-2</name>
	</author>
	<content type="html">Hi Jawahar, &lt;br&gt;&lt;br&gt;I have added support for TargetBuckets to JetS3t&amp;#39;s codebase in CVS. Note that the code changes are slightly different from the code you provided.&lt;br&gt;&lt;br&gt;Please confirm whether this update works for you.&lt;br&gt;

&lt;br&gt;Thanks,&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Jul 31, 2009 at 4:32 AM, Jawahar Nayak &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24786065&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jlal@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;br&gt;
Hi James,&lt;br&gt;
&lt;br&gt;
  You can include my submission in the JetS3t.&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
James Murty-3 wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Hi Jawahar,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thanks for the code submission, I will look into adding TargetGrants&lt;br&gt;
&amp;gt; support&lt;br&gt;
&amp;gt; into JetS3t over the next few days.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Can you please confirm for me that you grant all rights for your&lt;br&gt;
&amp;gt; submission&lt;br&gt;
&amp;gt; to be included in JetS3t and distributed under the Apache 2.0 license?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thanks,&lt;br&gt;
&amp;gt; James&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Thu, Jul 30, 2009 at 3:07 AM, Jawahar Nayak &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24786065&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jlal@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Hi,&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;  I am Jawahar Lal Nayak. I am using the latest version of Jets3t and I&lt;br&gt;
&amp;gt;&amp;gt; made&lt;br&gt;
&amp;gt;&amp;gt; changes regarding TragetGrants for bucket logging in jets3t source:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; -----------------------------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; Class: org\jets3t\service\model\S3BucketLoggingStatus.java&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; -----------------------------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; //Added one instance varriable:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; private Set trangetGrants;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; // Added set and get methods for trangetGrants;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;   public void setTrangetGrants(Set targetgrants) {&lt;br&gt;
&amp;gt;&amp;gt;        trangetGrants= targetgrants;&lt;br&gt;
&amp;gt;&amp;gt;    }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;    public Set getTrangetGrants() {&lt;br&gt;
&amp;gt;&amp;gt;        return trangetGrants;&lt;br&gt;
&amp;gt;&amp;gt;    }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; // Modified the toString() method&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; public String toXml() {&lt;br&gt;
&amp;gt;&amp;gt;        boolean bAddGrantACL = false;&lt;br&gt;
&amp;gt;&amp;gt;        StringBuffer sb = new StringBuffer();&lt;br&gt;
&amp;gt;&amp;gt;        StringBuffer strGrantACL = new StringBuffer();&lt;br&gt;
&amp;gt;&amp;gt;        if (isLoggingEnabled() &amp;amp;&amp;amp; (trangetGrants != null &amp;amp;&amp;amp;&lt;br&gt;
&amp;gt;&amp;gt; trangetGrants.size() &amp;gt; 0)) {&lt;br&gt;
&amp;gt;&amp;gt;            bAddGrantACL = true;&lt;br&gt;
&amp;gt;&amp;gt;            strGrantACL.append(&amp;quot;&amp;lt;TargetGrants&amp;gt;&amp;quot;);&lt;br&gt;
&amp;gt;&amp;gt;            Iterator grantIter = trangetGrants.iterator();&lt;br&gt;
&amp;gt;&amp;gt;            while (grantIter.hasNext()) {&lt;br&gt;
&amp;gt;&amp;gt;                GrantAndPermission gap = (GrantAndPermission)&lt;br&gt;
&amp;gt;&amp;gt; grantIter.next();&lt;br&gt;
&amp;gt;&amp;gt;                GranteeInterface grantee = gap.getGrantee();&lt;br&gt;
&amp;gt;&amp;gt;                Permission permission = gap.getPermission();&lt;br&gt;
&amp;gt;&amp;gt;                strGrantACL.append(&lt;br&gt;
&amp;gt;&amp;gt;                        &amp;quot;&amp;lt;Grant&amp;gt;&amp;quot; +&lt;br&gt;
&amp;gt;&amp;gt;                        grantee.toXml() +&lt;br&gt;
&amp;gt;&amp;gt;                        &amp;quot;&amp;lt;Permission&amp;gt;&amp;quot; + permission + &amp;quot;&amp;lt;/Permission&amp;gt;&amp;quot; +&lt;br&gt;
&amp;gt;&amp;gt;                        &amp;quot;&amp;lt;/Grant&amp;gt;&amp;quot;);&lt;br&gt;
&amp;gt;&amp;gt;            }&lt;br&gt;
&amp;gt;&amp;gt;            strGrantACL.append(&amp;quot;&amp;lt;/TargetGrants&amp;gt;&amp;quot;);&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;        sb.append(&lt;br&gt;
&amp;gt;&amp;gt;                &amp;quot;&amp;lt;BucketLoggingStatus xmlns=\&amp;quot;&amp;quot; + Constants.XML_NAMESPACE&lt;br&gt;
&amp;gt;&amp;gt; +&lt;br&gt;
&amp;gt;&amp;gt; &amp;quot;\&amp;quot;&amp;gt;&amp;quot; +&lt;br&gt;
&amp;gt;&amp;gt;                (!isLoggingEnabled() ? &amp;quot;&amp;quot; : &amp;quot;&amp;lt;LoggingEnabled&amp;gt;&amp;quot; +&lt;br&gt;
&amp;gt;&amp;gt;                &amp;quot;&amp;lt;TargetBucket&amp;gt;&amp;quot; + getTargetBucketName() +&lt;br&gt;
&amp;gt;&amp;gt; &amp;quot;&amp;lt;/TargetBucket&amp;gt;&amp;quot;&lt;br&gt;
&amp;gt;&amp;gt; +&lt;br&gt;
&amp;gt;&amp;gt;                &amp;quot;&amp;lt;TargetPrefix&amp;gt;&amp;quot; + getLogfilePrefix() + &amp;quot;&amp;lt;/TargetPrefix&amp;gt;&amp;quot;&lt;br&gt;
&amp;gt;&amp;gt; +&lt;br&gt;
&amp;gt;&amp;gt;                (bAddGrantACL ? strGrantACL.toString() : &amp;quot;&amp;quot;) +&lt;br&gt;
&amp;gt;&amp;gt;                &amp;quot;&amp;lt;/LoggingEnabled&amp;gt;&amp;quot;) +&lt;br&gt;
&amp;gt;&amp;gt;                &amp;quot;&amp;lt;/BucketLoggingStatus&amp;gt;&amp;quot;);&lt;br&gt;
&amp;gt;&amp;gt;        return sb.toString();&lt;br&gt;
&amp;gt;&amp;gt;    }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; Class: org\jets3t\service\impl\rest\XmlResponsesSaxParser.java&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; // Following is the complete class with changes&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;    public class BucketLoggingStatusHandler extends DefaultHandler {&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        private S3BucketLoggingStatus bucketLoggingStatus = null;&lt;br&gt;
&amp;gt;&amp;gt;        private String targetBucket = null;&lt;br&gt;
&amp;gt;&amp;gt;        private String targetPrefix = null;&lt;br&gt;
&amp;gt;&amp;gt;        private StringBuffer currText = null;&lt;br&gt;
&amp;gt;&amp;gt;        private GranteeInterface currentGrantee = null;&lt;br&gt;
&amp;gt;&amp;gt;        private Permission currentPermission = null;&lt;br&gt;
&amp;gt;&amp;gt;        private GrantAndPermission currentGrantAndPermission=null;&lt;br&gt;
&amp;gt;&amp;gt;        private Set trangetGrants = null;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        public BucketLoggingStatusHandler() {&lt;br&gt;
&amp;gt;&amp;gt;            super();&lt;br&gt;
&amp;gt;&amp;gt;            this.currText = new StringBuffer();&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        /**&lt;br&gt;
&amp;gt;&amp;gt;         * @return&lt;br&gt;
&amp;gt;&amp;gt;         * an object representing the bucket&amp;#39;s LoggingStatus document.&lt;br&gt;
&amp;gt;&amp;gt;         */&lt;br&gt;
&amp;gt;&amp;gt;        public S3BucketLoggingStatus getBucketLoggingStatus() {&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;            return bucketLoggingStatus;&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        public void startDocument() {&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        public void endDocument() {&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        public void startElement(String uri, String name, String qName,&lt;br&gt;
&amp;gt;&amp;gt; Attributes attrs) {&lt;br&gt;
&amp;gt;&amp;gt;            if (name.equals(&amp;quot;BucketLoggingStatus&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                bucketLoggingStatus = new S3BucketLoggingStatus();&lt;br&gt;
&amp;gt;&amp;gt;            } else if (name.equals(&amp;quot;TargetGrants&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                trangetGrants = new HashSet();&lt;br&gt;
&amp;gt;&amp;gt;            }&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        public void endElement(String uri, String name, String qName) {&lt;br&gt;
&amp;gt;&amp;gt;            String elementText = this.currText.toString();&lt;br&gt;
&amp;gt;&amp;gt;            if (name.equals(&amp;quot;TargetBucket&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                targetBucket = elementText;&lt;br&gt;
&amp;gt;&amp;gt;            } else if (name.equals(&amp;quot;TargetPrefix&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                targetPrefix = elementText;&lt;br&gt;
&amp;gt;&amp;gt;            } else if (name.equals(&amp;quot;LoggingEnabled&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                bucketLoggingStatus.setTargetBucketName(targetBucket);&lt;br&gt;
&amp;gt;&amp;gt;                bucketLoggingStatus.setLogfilePrefix(targetPrefix);&lt;br&gt;
&amp;gt;&amp;gt;            } else if (name.equals(&amp;quot;ID&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                currentGrantee = new CanonicalGrantee();&lt;br&gt;
&amp;gt;&amp;gt;                currentGrantee.setIdentifier(elementText);&lt;br&gt;
&amp;gt;&amp;gt;            } else if (name.equals(&amp;quot;EmailAddress&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                currentGrantee = new EmailAddressGrantee();&lt;br&gt;
&amp;gt;&amp;gt;                currentGrantee.setIdentifier(elementText);&lt;br&gt;
&amp;gt;&amp;gt;            } else if (name.equals(&amp;quot;DisplayName&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                ((CanonicalGrantee)&lt;br&gt;
&amp;gt;&amp;gt; currentGrantee).setDisplayName(elementText);&lt;br&gt;
&amp;gt;&amp;gt;            } else if (name.equals(&amp;quot;Permission&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                currentPermission =&lt;br&gt;
&amp;gt;&amp;gt; Permission.parsePermission(elementText);&lt;br&gt;
&amp;gt;&amp;gt;            }else if (name.equals(&amp;quot;Grant&amp;quot;)) {&lt;br&gt;
&amp;gt;&amp;gt;                currentGrantAndPermission = new&lt;br&gt;
&amp;gt;&amp;gt; GrantAndPermission(currentGrantee, currentPermission);&lt;br&gt;
&amp;gt;&amp;gt;                trangetGrants.add(currentGrantAndPermission);&lt;br&gt;
&amp;gt;&amp;gt;            }else if(name.equals(&amp;quot;TargetGrants&amp;quot;)){&lt;br&gt;
&amp;gt;&amp;gt;                bucketLoggingStatus.setGrants(trangetGrants);&lt;br&gt;
&amp;gt;&amp;gt;            }&lt;br&gt;
&amp;gt;&amp;gt;            this.currText = new StringBuffer();&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;        public void characters(char ch[], int start, int length) {&lt;br&gt;
&amp;gt;&amp;gt;            this.currText.append(ch, start, length);&lt;br&gt;
&amp;gt;&amp;gt;        }&lt;br&gt;
&amp;gt;&amp;gt;    }&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thanks&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24735589.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24735589.html&lt;/a&gt;&lt;br&gt;


&amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24786065&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24786065&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24754953.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24754953.html&lt;/a&gt;&lt;br&gt;


&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24786065&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24786065&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24786065.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24754953</id>
	<title>Re: Changes in Jets3t code for TargetGrant in BucketLogging</title>
	<published>2009-07-31T04:32:51Z</published>
	<updated>2009-07-31T04:32:51Z</updated>
	<author>
		<name>Jawahar Nayak</name>
	</author>
	<content type="html">Hi James,
&lt;br&gt;&lt;br&gt;&amp;nbsp; You can include my submission in the JetS3t.
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;James Murty-3 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi Jawahar,
&lt;br&gt;&lt;br&gt;Thanks for the code submission, I will look into adding TargetGrants support
&lt;br&gt;into JetS3t over the next few days.
&lt;br&gt;&lt;br&gt;Can you please confirm for me that you grant all rights for your submission
&lt;br&gt;to be included in JetS3t and distributed under the Apache 2.0 license?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;James
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, Jul 30, 2009 at 3:07 AM, Jawahar Nayak &amp;lt;jlal@chambal.com&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;I am Jawahar Lal Nayak. I am using the latest version of Jets3t and I made
&lt;br&gt;&amp;gt; changes regarding TragetGrants for bucket logging in jets3t source:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -----------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Class: org\jets3t\service\model\S3BucketLoggingStatus.java
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -----------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; //Added one instance varriable:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; private Set trangetGrants;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; // Added set and get methods for trangetGrants;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; public void setTrangetGrants(Set targetgrants) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trangetGrants= targetgrants;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;public Set getTrangetGrants() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return trangetGrants;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; // Modified the toString() method
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; public String toXml() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;boolean bAddGrantACL = false;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuffer sb = new StringBuffer();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuffer strGrantACL = new StringBuffer();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (isLoggingEnabled() &amp;&amp; (trangetGrants != null &amp;&amp;
&lt;br&gt;&amp;gt; trangetGrants.size() &amp;gt; 0)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bAddGrantACL = true;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strGrantACL.append(&amp;quot;&amp;lt;TargetGrants&amp;gt;&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Iterator grantIter = trangetGrants.iterator();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (grantIter.hasNext()) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GrantAndPermission gap = (GrantAndPermission)
&lt;br&gt;&amp;gt; grantIter.next();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;GranteeInterface grantee = gap.getGrantee();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Permission permission = gap.getPermission();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strGrantACL.append(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;Grant&amp;gt;&amp;quot; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;grantee.toXml() +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;Permission&amp;gt;&amp;quot; + permission + &amp;quot;&amp;lt;/Permission&amp;gt;&amp;quot; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;/Grant&amp;gt;&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;strGrantACL.append(&amp;quot;&amp;lt;/TargetGrants&amp;gt;&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.append(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;BucketLoggingStatus xmlns=\&amp;quot;&amp;quot; + Constants.XML_NAMESPACE +
&lt;br&gt;&amp;gt; &amp;quot;\&amp;quot;&amp;gt;&amp;quot; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(!isLoggingEnabled() ? &amp;quot;&amp;quot; : &amp;quot;&amp;lt;LoggingEnabled&amp;gt;&amp;quot; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;TargetBucket&amp;gt;&amp;quot; + getTargetBucketName() + &amp;quot;&amp;lt;/TargetBucket&amp;gt;&amp;quot;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;TargetPrefix&amp;gt;&amp;quot; + getLogfilePrefix() + &amp;quot;&amp;lt;/TargetPrefix&amp;gt;&amp;quot; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(bAddGrantACL ? strGrantACL.toString() : &amp;quot;&amp;quot;) +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;/LoggingEnabled&amp;gt;&amp;quot;) +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;&amp;lt;/BucketLoggingStatus&amp;gt;&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return sb.toString();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Class: org\jets3t\service\impl\rest\XmlResponsesSaxParser.java
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; // Following is the complete class with changes
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;public class BucketLoggingStatusHandler extends DefaultHandler {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private S3BucketLoggingStatus bucketLoggingStatus = null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private String targetBucket = null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private String targetPrefix = null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private StringBuffer currText = null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private GranteeInterface currentGrantee = null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Permission currentPermission = null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private GrantAndPermission currentGrantAndPermission=null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Set trangetGrants = null;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public BucketLoggingStatusHandler() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.currText = new StringBuffer();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * @return
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * an object representing the bucket's LoggingStatus document.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public S3BucketLoggingStatus getBucketLoggingStatus() {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return bucketLoggingStatus;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void startDocument() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void endDocument() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void startElement(String uri, String name, String qName,
&lt;br&gt;&amp;gt; Attributes attrs) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name.equals(&amp;quot;BucketLoggingStatus&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bucketLoggingStatus = new S3BucketLoggingStatus();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (name.equals(&amp;quot;TargetGrants&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trangetGrants = new HashSet();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void endElement(String uri, String name, String qName) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String elementText = this.currText.toString();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name.equals(&amp;quot;TargetBucket&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;targetBucket = elementText;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (name.equals(&amp;quot;TargetPrefix&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;targetPrefix = elementText;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (name.equals(&amp;quot;LoggingEnabled&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bucketLoggingStatus.setTargetBucketName(targetBucket);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bucketLoggingStatus.setLogfilePrefix(targetPrefix);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (name.equals(&amp;quot;ID&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentGrantee = new CanonicalGrantee();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentGrantee.setIdentifier(elementText);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (name.equals(&amp;quot;EmailAddress&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentGrantee = new EmailAddressGrantee();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentGrantee.setIdentifier(elementText);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (name.equals(&amp;quot;DisplayName&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((CanonicalGrantee)
&lt;br&gt;&amp;gt; currentGrantee).setDisplayName(elementText);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (name.equals(&amp;quot;Permission&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentPermission = Permission.parsePermission(elementText);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}else if (name.equals(&amp;quot;Grant&amp;quot;)) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;currentGrantAndPermission = new
&lt;br&gt;&amp;gt; GrantAndPermission(currentGrantee, currentPermission);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trangetGrants.add(currentGrantAndPermission);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}else if(name.equals(&amp;quot;TargetGrants&amp;quot;)){
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bucketLoggingStatus.setGrants(trangetGrants);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.currText = new StringBuffer();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void characters(char ch[], int start, int length) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.currText.append(ch, start, length);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24735589.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24735589.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24754953.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24751708</id>
	<title>Re: Changes in Jets3t code for TargetGrant in BucketLogging</title>
	<published>2009-07-30T23:30:07Z</published>
	<updated>2009-07-30T23:30:07Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">Hi Jawahar,&lt;br&gt;&lt;br&gt;Thanks for the code submission, I will look into adding TargetGrants support into JetS3t over the next few days. &lt;br&gt;&lt;br&gt;Can you please confirm for me that you grant all rights for your submission to be included in JetS3t and distributed under the Apache 2.0 license?&lt;br&gt;

&lt;br&gt;Thanks,&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Jul 30, 2009 at 3:07 AM, Jawahar Nayak &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24751708&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jlal@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;br&gt;
&lt;br&gt;
Hi,&lt;br&gt;
&lt;br&gt;
  I am Jawahar Lal Nayak. I am using the latest version of Jets3t and I made&lt;br&gt;
changes regarding TragetGrants for bucket logging in jets3t source:&lt;br&gt;
-----------------------------------------------------------------------------------------------&lt;br&gt;
Class: org\jets3t\service\model\S3BucketLoggingStatus.java&lt;br&gt;
-----------------------------------------------------------------------------------------------&lt;br&gt;
&lt;br&gt;
//Added one instance varriable:&lt;br&gt;
&lt;br&gt;
private Set trangetGrants;&lt;br&gt;
&lt;br&gt;
// Added set and get methods for trangetGrants;&lt;br&gt;
&lt;br&gt;
   public void setTrangetGrants(Set targetgrants) {&lt;br&gt;
        trangetGrants= targetgrants;&lt;br&gt;
    }&lt;br&gt;
&lt;br&gt;
    public Set getTrangetGrants() {&lt;br&gt;
        return trangetGrants;&lt;br&gt;
    }&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
// Modified the toString() method&lt;br&gt;
&lt;br&gt;
public String toXml() {&lt;br&gt;
        boolean bAddGrantACL = false;&lt;br&gt;
        StringBuffer sb = new StringBuffer();&lt;br&gt;
        StringBuffer strGrantACL = new StringBuffer();&lt;br&gt;
        if (isLoggingEnabled() &amp;amp;&amp;amp; (trangetGrants != null &amp;amp;&amp;amp;&lt;br&gt;
trangetGrants.size() &amp;gt; 0)) {&lt;br&gt;
            bAddGrantACL = true;&lt;br&gt;
            strGrantACL.append(&amp;quot;&amp;lt;TargetGrants&amp;gt;&amp;quot;);&lt;br&gt;
            Iterator grantIter = trangetGrants.iterator();&lt;br&gt;
            while (grantIter.hasNext()) {&lt;br&gt;
                GrantAndPermission gap = (GrantAndPermission)&lt;br&gt;
grantIter.next();&lt;br&gt;
                GranteeInterface grantee = gap.getGrantee();&lt;br&gt;
                Permission permission = gap.getPermission();&lt;br&gt;
                strGrantACL.append(&lt;br&gt;
                        &amp;quot;&amp;lt;Grant&amp;gt;&amp;quot; +&lt;br&gt;
                        grantee.toXml() +&lt;br&gt;
                        &amp;quot;&amp;lt;Permission&amp;gt;&amp;quot; + permission + &amp;quot;&amp;lt;/Permission&amp;gt;&amp;quot; +&lt;br&gt;
                        &amp;quot;&amp;lt;/Grant&amp;gt;&amp;quot;);&lt;br&gt;
            }&lt;br&gt;
            strGrantACL.append(&amp;quot;&amp;lt;/TargetGrants&amp;gt;&amp;quot;);&lt;br&gt;
        }&lt;br&gt;
        sb.append(&lt;br&gt;
                &amp;quot;&amp;lt;BucketLoggingStatus xmlns=\&amp;quot;&amp;quot; + Constants.XML_NAMESPACE +&lt;br&gt;
&amp;quot;\&amp;quot;&amp;gt;&amp;quot; +&lt;br&gt;
                (!isLoggingEnabled() ? &amp;quot;&amp;quot; : &amp;quot;&amp;lt;LoggingEnabled&amp;gt;&amp;quot; +&lt;br&gt;
                &amp;quot;&amp;lt;TargetBucket&amp;gt;&amp;quot; + getTargetBucketName() + &amp;quot;&amp;lt;/TargetBucket&amp;gt;&amp;quot;&lt;br&gt;
+&lt;br&gt;
                &amp;quot;&amp;lt;TargetPrefix&amp;gt;&amp;quot; + getLogfilePrefix() + &amp;quot;&amp;lt;/TargetPrefix&amp;gt;&amp;quot; +&lt;br&gt;
                (bAddGrantACL ? strGrantACL.toString() : &amp;quot;&amp;quot;) +&lt;br&gt;
                &amp;quot;&amp;lt;/LoggingEnabled&amp;gt;&amp;quot;) +&lt;br&gt;
                &amp;quot;&amp;lt;/BucketLoggingStatus&amp;gt;&amp;quot;);&lt;br&gt;
        return sb.toString();&lt;br&gt;
    }&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------------------------------------&lt;br&gt;
Class: org\jets3t\service\impl\rest\XmlResponsesSaxParser.java&lt;br&gt;
---------------------------------------------------------------------------------------------------&lt;br&gt;
&lt;br&gt;
// Following is the complete class with changes&lt;br&gt;
&lt;br&gt;
    public class BucketLoggingStatusHandler extends DefaultHandler {&lt;br&gt;
&lt;br&gt;
        private S3BucketLoggingStatus bucketLoggingStatus = null;&lt;br&gt;
        private String targetBucket = null;&lt;br&gt;
        private String targetPrefix = null;&lt;br&gt;
        private StringBuffer currText = null;&lt;br&gt;
        private GranteeInterface currentGrantee = null;&lt;br&gt;
        private Permission currentPermission = null;&lt;br&gt;
        private GrantAndPermission currentGrantAndPermission=null;&lt;br&gt;
        private Set trangetGrants = null;&lt;br&gt;
&lt;br&gt;
        public BucketLoggingStatusHandler() {&lt;br&gt;
            super();&lt;br&gt;
            this.currText = new StringBuffer();&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
        /**&lt;br&gt;
         * @return&lt;br&gt;
         * an object representing the bucket&amp;#39;s LoggingStatus document.&lt;br&gt;
         */&lt;br&gt;
        public S3BucketLoggingStatus getBucketLoggingStatus() {&lt;br&gt;
&lt;br&gt;
            return bucketLoggingStatus;&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
        public void startDocument() {&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
        public void endDocument() {&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
        public void startElement(String uri, String name, String qName,&lt;br&gt;
Attributes attrs) {&lt;br&gt;
            if (name.equals(&amp;quot;BucketLoggingStatus&amp;quot;)) {&lt;br&gt;
                bucketLoggingStatus = new S3BucketLoggingStatus();&lt;br&gt;
            } else if (name.equals(&amp;quot;TargetGrants&amp;quot;)) {&lt;br&gt;
                trangetGrants = new HashSet();&lt;br&gt;
            }&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
        public void endElement(String uri, String name, String qName) {&lt;br&gt;
            String elementText = this.currText.toString();&lt;br&gt;
            if (name.equals(&amp;quot;TargetBucket&amp;quot;)) {&lt;br&gt;
                targetBucket = elementText;&lt;br&gt;
            } else if (name.equals(&amp;quot;TargetPrefix&amp;quot;)) {&lt;br&gt;
                targetPrefix = elementText;&lt;br&gt;
            } else if (name.equals(&amp;quot;LoggingEnabled&amp;quot;)) {&lt;br&gt;
                bucketLoggingStatus.setTargetBucketName(targetBucket);&lt;br&gt;
                bucketLoggingStatus.setLogfilePrefix(targetPrefix);&lt;br&gt;
            } else if (name.equals(&amp;quot;ID&amp;quot;)) {&lt;br&gt;
                currentGrantee = new CanonicalGrantee();&lt;br&gt;
                currentGrantee.setIdentifier(elementText);&lt;br&gt;
            } else if (name.equals(&amp;quot;EmailAddress&amp;quot;)) {&lt;br&gt;
                currentGrantee = new EmailAddressGrantee();&lt;br&gt;
                currentGrantee.setIdentifier(elementText);&lt;br&gt;
            } else if (name.equals(&amp;quot;DisplayName&amp;quot;)) {&lt;br&gt;
                ((CanonicalGrantee)&lt;br&gt;
currentGrantee).setDisplayName(elementText);&lt;br&gt;
            } else if (name.equals(&amp;quot;Permission&amp;quot;)) {&lt;br&gt;
                currentPermission = Permission.parsePermission(elementText);&lt;br&gt;
            }else if (name.equals(&amp;quot;Grant&amp;quot;)) {&lt;br&gt;
                currentGrantAndPermission = new&lt;br&gt;
GrantAndPermission(currentGrantee, currentPermission);&lt;br&gt;
                trangetGrants.add(currentGrantAndPermission);&lt;br&gt;
            }else if(name.equals(&amp;quot;TargetGrants&amp;quot;)){&lt;br&gt;
                bucketLoggingStatus.setGrants(trangetGrants);&lt;br&gt;
            }&lt;br&gt;
            this.currText = new StringBuffer();&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
        public void characters(char ch[], int start, int length) {&lt;br&gt;
            this.currText.append(ch, start, length);&lt;br&gt;
        }&lt;br&gt;
    }&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24735589.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24735589.html&lt;/a&gt;&lt;br&gt;


Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24751708&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24751708&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24751708.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24735589</id>
	<title>Changes in Jets3t code for TargetGrant in BucketLogging</title>
	<published>2009-07-30T03:07:22Z</published>
	<updated>2009-07-30T03:07:22Z</updated>
	<author>
		<name>Jawahar Nayak</name>
	</author>
	<content type="html">&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;&amp;nbsp; I am Jawahar Lal Nayak. I am using the latest version of Jets3t and I made changes regarding TragetGrants for bucket logging in jets3t source:
&lt;br&gt;-----------------------------------------------------------------------------------------------
&lt;br&gt;Class: &lt;b&gt;org\jets3t\service\model\S3BucketLoggingStatus.java&lt;/b&gt;&lt;br&gt;-----------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;//Added one instance varriable:
&lt;br&gt;&lt;br&gt;private Set trangetGrants;
&lt;br&gt;&lt;br&gt;&lt;b&gt;// Added set and get methods for trangetGrants;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;public void setTrangetGrants(Set targetgrants) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trangetGrants= targetgrants;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public Set getTrangetGrants() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return trangetGrants;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;br&gt;// Modified the toString() method&lt;/b&gt;&lt;br&gt;&lt;br&gt;public String toXml() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; boolean bAddGrantACL = false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StringBuffer sb = new StringBuffer();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StringBuffer strGrantACL = new StringBuffer();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (isLoggingEnabled() &amp;&amp; (trangetGrants != null &amp;&amp; trangetGrants.size() &amp;gt; 0)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bAddGrantACL = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strGrantACL.append(&amp;quot;&amp;lt;TargetGrants&amp;gt;&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Iterator grantIter = trangetGrants.iterator();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (grantIter.hasNext()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GrantAndPermission gap = (GrantAndPermission) grantIter.next();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GranteeInterface grantee = gap.getGrantee();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Permission permission = gap.getPermission();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strGrantACL.append(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;Grant&amp;gt;&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grantee.toXml() +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;Permission&amp;gt;&amp;quot; + permission + &amp;quot;&amp;lt;/Permission&amp;gt;&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;/Grant&amp;gt;&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strGrantACL.append(&amp;quot;&amp;lt;/TargetGrants&amp;gt;&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sb.append(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;BucketLoggingStatus xmlns=\&amp;quot;&amp;quot; + Constants.XML_NAMESPACE + &amp;quot;\&amp;quot;&amp;gt;&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (!isLoggingEnabled() ? &amp;quot;&amp;quot; : &amp;quot;&amp;lt;LoggingEnabled&amp;gt;&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;TargetBucket&amp;gt;&amp;quot; + getTargetBucketName() + &amp;quot;&amp;lt;/TargetBucket&amp;gt;&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;TargetPrefix&amp;gt;&amp;quot; + getLogfilePrefix() + &amp;quot;&amp;lt;/TargetPrefix&amp;gt;&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (bAddGrantACL ? strGrantACL.toString() : &amp;quot;&amp;quot;) +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;/LoggingEnabled&amp;gt;&amp;quot;) +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;lt;/BucketLoggingStatus&amp;gt;&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return sb.toString();
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------------------------------------
&lt;br&gt;Class:&lt;b&gt;&amp;nbsp;org\jets3t\service\impl\rest\XmlResponsesSaxParser.java&lt;/b&gt;&lt;br&gt;---------------------------------------------------------------------------------------------------
&lt;br&gt;&lt;b&gt;&lt;br&gt;// Following is the complete class with changes&lt;/b&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public class BucketLoggingStatusHandler extends DefaultHandler {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private S3BucketLoggingStatus bucketLoggingStatus = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private String targetBucket = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private String targetPrefix = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private StringBuffer currText = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private GranteeInterface currentGrantee = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private Permission currentPermission = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private GrantAndPermission currentGrantAndPermission=null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private Set trangetGrants = null;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public BucketLoggingStatusHandler() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.currText = new StringBuffer();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* @return
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* an object representing the bucket's LoggingStatus document.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public S3BucketLoggingStatus getBucketLoggingStatus() {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return bucketLoggingStatus;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void startDocument() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void endDocument() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void startElement(String uri, String name, String qName, Attributes attrs) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (name.equals(&amp;quot;BucketLoggingStatus&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bucketLoggingStatus = new S3BucketLoggingStatus();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (name.equals(&amp;quot;TargetGrants&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trangetGrants = new HashSet();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void endElement(String uri, String name, String qName) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String elementText = this.currText.toString();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (name.equals(&amp;quot;TargetBucket&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; targetBucket = elementText;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (name.equals(&amp;quot;TargetPrefix&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; targetPrefix = elementText;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (name.equals(&amp;quot;LoggingEnabled&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bucketLoggingStatus.setTargetBucketName(targetBucket);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bucketLoggingStatus.setLogfilePrefix(targetPrefix);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (name.equals(&amp;quot;ID&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentGrantee = new CanonicalGrantee();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentGrantee.setIdentifier(elementText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (name.equals(&amp;quot;EmailAddress&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentGrantee = new EmailAddressGrantee();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentGrantee.setIdentifier(elementText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (name.equals(&amp;quot;DisplayName&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ((CanonicalGrantee) currentGrantee).setDisplayName(elementText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (name.equals(&amp;quot;Permission&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentPermission = Permission.parsePermission(elementText);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }else if (name.equals(&amp;quot;Grant&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; currentGrantAndPermission = new GrantAndPermission(currentGrantee, currentPermission);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; trangetGrants.add(currentGrantAndPermission);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }else if(name.equals(&amp;quot;TargetGrants&amp;quot;)){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bucketLoggingStatus.setGrants(trangetGrants);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.currText = new StringBuffer();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void characters(char ch[], int start, int length) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.currText.append(ch, start, length);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;Thanks</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Changes-in-Jets3t-code-for-TargetGrant-in-BucketLogging-tp24735589p24735589.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24542160</id>
	<title>Eucalyptus 1.5.2</title>
	<published>2009-07-17T14:40:25Z</published>
	<updated>2009-07-17T14:40:25Z</updated>
	<author>
		<name>Neil Soman</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;sorry about the spam, but thought some people might be interested.
&lt;br&gt;&lt;br&gt;Eucalyptus 1.5.2 is out with better API support.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://forum.eucalyptus.com/forum/viewtopic.php?f=3&amp;t=807&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forum.eucalyptus.com/forum/viewtopic.php?f=3&amp;t=807&lt;/a&gt;&lt;br&gt;&lt;br&gt;The demo Eucalyptus Public Cloud is still running an older version of
&lt;br&gt;Eucalyptus and will upgraded soon (in case you are interested in
&lt;br&gt;interacting with it).
&lt;br&gt;&lt;br&gt;Suggestions/feedback will be welcome.
&lt;br&gt;&lt;br&gt;thank you
&lt;br&gt;neil
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24542160&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24542160&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Eucalyptus-1.5.2-tp24542160p24542160.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24401931</id>
	<title>Re: Synchronize didn't error but created a single, empty file</title>
	<published>2009-07-08T17:36:56Z</published>
	<updated>2009-07-08T17:36:56Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">Brendan,&lt;br&gt;&lt;br&gt;You will certainly need to test how well different software interacts if you plan to use different tools to store items in subfolders of the same bucket. For the most part things should be OK, in that all your data will be stored in S3 and will be accessible using the same tool you used to upload it. However, you may face problems if you later try using program X to download files uploaded with program Y, or if you use both X and Y to upload files to the same &amp;quot;subdirectory&amp;quot; in S3.&lt;br&gt;

&lt;br&gt;It would be very interesting if you could follow up here with your experiences using a few different tools, although that would make you something of a guinea pig. Depending on exactly how other tools work, it may be possible to add options to JetS3t to make it more compatible with them. I have done this already for one or two other common tools, though not S3Fox.&lt;br&gt;

&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jul 8, 2009 at 5:21 PM, Branden Makana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401931&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;branden.makana@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks James - that makes sense then. Now my concern is - do I need to make sure any files put anywhere in that bucket are done so by jets3t? I was planning on using one bucket for all my files, and then &amp;quot;folders&amp;quot; inside that bucket for each server I planned on backing up. It sounds like if I need to make sure to use jets3t or else various programs might step on each other in how they do folders, is that correct?&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div class=&quot;im&quot;&gt;On Wed, Jul 8, 2009 at 5:03 PM, James Murty &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401931&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;james@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hi Branden,&lt;br&gt;&lt;br&gt;I&amp;#39;m afraid this problem is due to an incompatibility between the way JetS3t represents folders in S3 and the way the Firefox plugin does so. All your files will be present in S3 and completely accessible to JetS3t programs, but because JetS3t and Elasticfox use different methods to indicate when an S3 object really represents a folder you will need to give Elasticfox a little help.&lt;br&gt;




&lt;br&gt;Instead of relying on Elasticfox recognizing folders, you will need to type in the folder path into the object path field with an added slash character at the end, e.g. &amp;quot;myfolder/&amp;quot;. When you add the slash character, you should get a listing of files inside that &amp;quot;folder&amp;quot;.&lt;br&gt;




&lt;br&gt;As an alternative, you can use the JetS3t Cockpit application which will list all the objects in a bucket. However, Cockpit does not offer the same kind of folder-specific view that Elasticfox does.&lt;br&gt;&lt;br&gt;It is unfortunate that there is not a standard way to represent folders stored in S3 and that different tools use different techniques. The underlying issue is that there is really no such thing as a folder object in S3, so we all use different tricks when storing folder hierarchies so we can recognize which objects represent folders and which represent files. All of which causes headaches for users.&lt;br&gt;




&lt;br&gt;I hope this helps,&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jul 8, 2009 at 4:12 PM, Branden Makana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401931&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;branden.makana@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;




Hello,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I was trying out jets3t&amp;#39;s Synchronize program to backup a folder structure to amazon&amp;#39;s S3. I ran the batch file, and it appeared to run correctly - it says it copied 61,544 files, it took several hours, and no errors were spit out. However, when I use the Firefox plugin &amp;quot;S3 Firefox&amp;quot; (so that I can confirm the backup did run correctly), I see it made a single file that&amp;#39;s 0 bytes. Now I&amp;#39;m trying to figure out what happened. &lt;/div&gt;





&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here&amp;#39;s how I ran jets3t, on a Windows 2003 server:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;synchronize.bat -b UP &amp;quot;portentint/homerbak&amp;quot; e:\inetpub\wwwroot &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;portentint being my bucket on S3, and I wanted a directory inside that called homerbak. When I look in S3 Firefox, I see homerbak folder inside my bucket (so that worked), and then inside there I see &amp;quot;wwwroot&amp;quot; which looks like a file, and has a file size of 0. &lt;/div&gt;





&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What did I do wrong, and how could it have taken several hours copying 4-5GB but I only see this empty file?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any help/comments are appreciated :)&lt;/div&gt;





&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Synchronize-didn%27t-error-but-created-a-single%2C-empty-file-tp24401090p24401931.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24401785</id>
	<title>Re: Synchronize didn't error but created a single, empty file</title>
	<published>2009-07-08T17:21:14Z</published>
	<updated>2009-07-08T17:21:14Z</updated>
	<author>
		<name>Branden Makana</name>
	</author>
	<content type="html">&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks James - that makes sense then. Now my concern is - do I need to make sure any files put anywhere in that bucket are done so by jets3t? I was planning on using one bucket for all my files, and then &amp;quot;folders&amp;quot; inside that bucket for each server I planned on backing up. It sounds like if I need to make sure to use jets3t or else various programs might step on each other in how they do folders, is that correct?&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jul 8, 2009 at 5:03 PM, James Murty &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401785&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;james@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
Hi Branden,&lt;br&gt;&lt;br&gt;I&amp;#39;m afraid this problem is due to an incompatibility between the way JetS3t represents folders in S3 and the way the Firefox plugin does so. All your files will be present in S3 and completely accessible to JetS3t programs, but because JetS3t and Elasticfox use different methods to indicate when an S3 object really represents a folder you will need to give Elasticfox a little help.&lt;br&gt;


&lt;br&gt;Instead of relying on Elasticfox recognizing folders, you will need to type in the folder path into the object path field with an added slash character at the end, e.g. &amp;quot;myfolder/&amp;quot;. When you add the slash character, you should get a listing of files inside that &amp;quot;folder&amp;quot;.&lt;br&gt;


&lt;br&gt;As an alternative, you can use the JetS3t Cockpit application which will list all the objects in a bucket. However, Cockpit does not offer the same kind of folder-specific view that Elasticfox does.&lt;br&gt;&lt;br&gt;It is unfortunate that there is not a standard way to represent folders stored in S3 and that different tools use different techniques. The underlying issue is that there is really no such thing as a folder object in S3, so we all use different tricks when storing folder hierarchies so we can recognize which objects represent folders and which represent files. All of which causes headaches for users.&lt;br&gt;


&lt;br&gt;I hope this helps,&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jul 8, 2009 at 4:12 PM, Branden Makana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401785&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;branden.makana@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex&quot;&gt;


Hello,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I was trying out jets3t&amp;#39;s Synchronize program to backup a folder structure to amazon&amp;#39;s S3. I ran the batch file, and it appeared to run correctly - it says it copied 61,544 files, it took several hours, and no errors were spit out. However, when I use the Firefox plugin &amp;quot;S3 Firefox&amp;quot; (so that I can confirm the backup did run correctly), I see it made a single file that&amp;#39;s 0 bytes. Now I&amp;#39;m trying to figure out what happened. &lt;/div&gt;



&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here&amp;#39;s how I ran jets3t, on a Windows 2003 server:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;synchronize.bat -b UP &amp;quot;portentint/homerbak&amp;quot; e:\inetpub\wwwroot &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;portentint being my bucket on S3, and I wanted a directory inside that called homerbak. When I look in S3 Firefox, I see homerbak folder inside my bucket (so that worked), and then inside there I see &amp;quot;wwwroot&amp;quot; which looks like a file, and has a file size of 0. &lt;/div&gt;



&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What did I do wrong, and how could it have taken several hours copying 4-5GB but I only see this empty file?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any help/comments are appreciated :)&lt;/div&gt;



&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Synchronize-didn%27t-error-but-created-a-single%2C-empty-file-tp24401090p24401785.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24401753</id>
	<title>Re: Synchronize didn't error but created a single, empty file</title>
	<published>2009-07-08T17:17:25Z</published>
	<updated>2009-07-08T17:17:25Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">Oops, substitute &amp;quot;S3Fox&amp;quot; wherever I said &amp;quot;Elasticfox&amp;quot; in my last message. Elasticfox is the EC2 Firefox add-on, not the S3 one.&lt;br&gt;&lt;br&gt;James&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jul 8, 2009 at 5:03 PM, James Murty &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401753&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;james@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Hi Branden,&lt;br&gt;&lt;br&gt;I&amp;#39;m afraid this problem is due to an incompatibility between the way JetS3t represents folders in S3 and the way the Firefox plugin does so. All your files will be present in S3 and completely accessible to JetS3t programs, but because JetS3t and Elasticfox use different methods to indicate when an S3 object really represents a folder you will need to give Elasticfox a little help.&lt;br&gt;


&lt;br&gt;Instead of relying on Elasticfox recognizing folders, you will need to type in the folder path into the object path field with an added slash character at the end, e.g. &amp;quot;myfolder/&amp;quot;. When you add the slash character, you should get a listing of files inside that &amp;quot;folder&amp;quot;.&lt;br&gt;


&lt;br&gt;As an alternative, you can use the JetS3t Cockpit application which will list all the objects in a bucket. However, Cockpit does not offer the same kind of folder-specific view that Elasticfox does.&lt;br&gt;&lt;br&gt;It is unfortunate that there is not a standard way to represent folders stored in S3 and that different tools use different techniques. The underlying issue is that there is really no such thing as a folder object in S3, so we all use different tricks when storing folder hierarchies so we can recognize which objects represent folders and which represent files. All of which causes headaches for users.&lt;br&gt;


&lt;br&gt;I hope this helps,&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jul 8, 2009 at 4:12 PM, Branden Makana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401753&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;branden.makana@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;


Hello,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I was trying out jets3t&amp;#39;s Synchronize program to backup a folder structure to amazon&amp;#39;s S3. I ran the batch file, and it appeared to run correctly - it says it copied 61,544 files, it took several hours, and no errors were spit out. However, when I use the Firefox plugin &amp;quot;S3 Firefox&amp;quot; (so that I can confirm the backup did run correctly), I see it made a single file that&amp;#39;s 0 bytes. Now I&amp;#39;m trying to figure out what happened. &lt;/div&gt;



&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here&amp;#39;s how I ran jets3t, on a Windows 2003 server:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;synchronize.bat -b UP &amp;quot;portentint/homerbak&amp;quot; e:\inetpub\wwwroot &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;portentint being my bucket on S3, and I wanted a directory inside that called homerbak. When I look in S3 Firefox, I see homerbak folder inside my bucket (so that worked), and then inside there I see &amp;quot;wwwroot&amp;quot; which looks like a file, and has a file size of 0. &lt;/div&gt;



&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What did I do wrong, and how could it have taken several hours copying 4-5GB but I only see this empty file?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any help/comments are appreciated :)&lt;/div&gt;



&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Synchronize-didn%27t-error-but-created-a-single%2C-empty-file-tp24401090p24401753.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24401615</id>
	<title>Re: Synchronize didn't error but created a single, empty file</title>
	<published>2009-07-08T17:03:41Z</published>
	<updated>2009-07-08T17:03:41Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">Hi Branden,&lt;br&gt;&lt;br&gt;I&amp;#39;m afraid this problem is due to an incompatibility between the way JetS3t represents folders in S3 and the way the Firefox plugin does so. All your files will be present in S3 and completely accessible to JetS3t programs, but because JetS3t and Elasticfox use different methods to indicate when an S3 object really represents a folder you will need to give Elasticfox a little help.&lt;br&gt;

&lt;br&gt;Instead of relying on Elasticfox recognizing folders, you will need to type in the folder path into the object path field with an added slash character at the end, e.g. &amp;quot;myfolder/&amp;quot;. When you add the slash character, you should get a listing of files inside that &amp;quot;folder&amp;quot;.&lt;br&gt;

&lt;br&gt;As an alternative, you can use the JetS3t Cockpit application which will list all the objects in a bucket. However, Cockpit does not offer the same kind of folder-specific view that Elasticfox does.&lt;br&gt;&lt;br&gt;It is unfortunate that there is not a standard way to represent folders stored in S3 and that different tools use different techniques. The underlying issue is that there is really no such thing as a folder object in S3, so we all use different tricks when storing folder hierarchies so we can recognize which objects represent folders and which represent files. All of which causes headaches for users.&lt;br&gt;

&lt;br&gt;I hope this helps,&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Jul 8, 2009 at 4:12 PM, Branden Makana &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=24401615&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;branden.makana@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Hello,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I was trying out jets3t&amp;#39;s Synchronize program to backup a folder structure to amazon&amp;#39;s S3. I ran the batch file, and it appeared to run correctly - it says it copied 61,544 files, it took several hours, and no errors were spit out. However, when I use the Firefox plugin &amp;quot;S3 Firefox&amp;quot; (so that I can confirm the backup did run correctly), I see it made a single file that&amp;#39;s 0 bytes. Now I&amp;#39;m trying to figure out what happened. &lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here&amp;#39;s how I ran jets3t, on a Windows 2003 server:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;synchronize.bat -b UP &amp;quot;portentint/homerbak&amp;quot; e:\inetpub\wwwroot &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;portentint being my bucket on S3, and I wanted a directory inside that called homerbak. When I look in S3 Firefox, I see homerbak folder inside my bucket (so that worked), and then inside there I see &amp;quot;wwwroot&amp;quot; which looks like a file, and has a file size of 0. &lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What did I do wrong, and how could it have taken several hours copying 4-5GB but I only see this empty file?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any help/comments are appreciated :)&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Synchronize-didn%27t-error-but-created-a-single%2C-empty-file-tp24401090p24401615.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24401090</id>
	<title>Synchronize didn't error but created a single, empty file</title>
	<published>2009-07-08T16:12:49Z</published>
	<updated>2009-07-08T16:12:49Z</updated>
	<author>
		<name>Branden Makana</name>
	</author>
	<content type="html">Hello,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I was trying out jets3t&amp;#39;s Synchronize program to backup a folder structure to amazon&amp;#39;s S3. I ran the batch file, and it appeared to run correctly - it says it copied 61,544 files, it took several hours, and no errors were spit out. However, when I use the Firefox plugin &amp;quot;S3 Firefox&amp;quot; (so that I can confirm the backup did run correctly), I see it made a single file that&amp;#39;s 0 bytes. Now I&amp;#39;m trying to figure out what happened. &lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here&amp;#39;s how I ran jets3t, on a Windows 2003 server:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;synchronize.bat -b UP &amp;quot;portentint/homerbak&amp;quot; e:\inetpub\wwwroot &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;portentint being my bucket on S3, and I wanted a directory inside that called homerbak. When I look in S3 Firefox, I see homerbak folder inside my bucket (so that worked), and then inside there I see &amp;quot;wwwroot&amp;quot; which looks like a file, and has a file size of 0. &lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What did I do wrong, and how could it have taken several hours copying 4-5GB but I only see this empty file?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any help/comments are appreciated :)&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Synchronize-didn%27t-error-but-created-a-single%2C-empty-file-tp24401090p24401090.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23954940</id>
	<title>Re: toolkit and crypto</title>
	<published>2009-06-09T20:09:01Z</published>
	<updated>2009-06-09T20:09:01Z</updated>
	<author>
		<name>James Murty-2</name>
	</author>
	<content type="html">I should mention that it is difficult to achieve truly transparent
&lt;br&gt;encryption of data sent to S3 because you need to know the exact size
&lt;br&gt;of an S3 object before you upload it. If you simply run data through
&lt;br&gt;an encryption cipher as it is being uploaded, the resultant data
&lt;br&gt;probably won't match the size of the original data and the upload will
&lt;br&gt;fail.
&lt;br&gt;&lt;br&gt;So if you do use the EncryptUtils#encrypt method to get an encrypting
&lt;br&gt;cipher stream, make sure you write this data to a temporary file or
&lt;br&gt;buffer first, and only upload it once you know the final size.
&lt;br&gt;&lt;br&gt;&amp;gt; am i now stuck with warnock's dilemma?  only time will tell.
&lt;br&gt;&lt;br&gt;No dilemma. However, the JetS3t Users Google group is probably a
&lt;br&gt;better place to ask questions because more people are listening there:
&lt;br&gt;&lt;a href=&quot;http://groups.google.com/group/jets3t-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/jets3t-users&lt;/a&gt;&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;James
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23954940&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23954940&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/toolkit-and-crypto-tp23954690p23954940.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23954846</id>
	<title>Re: toolkit and crypto</title>
	<published>2009-06-09T19:56:22Z</published>
	<updated>2009-06-09T19:56:22Z</updated>
	<author>
		<name>James Murty-2</name>
	</author>
	<content type="html">Hi Patrick,
&lt;br&gt;&lt;br&gt;You are correct. The &amp;quot;crypto.algorithm&amp;quot; property setting in
&lt;br&gt;jets3t.properties only applies to the JetS3t applications, and will
&lt;br&gt;not enable automatic encryption of uploaded objects in the toolkit.
&lt;br&gt;&lt;br&gt;The easiest way to encrypt items you upload to S3 is to use the
&lt;br&gt;ObjectUtils#createObjectForUpload utility methods to transform a file
&lt;br&gt;prior to upload. These methods take an EncryptionUtil argument where
&lt;br&gt;you can specify a password and the encryption algorithm you wish to
&lt;br&gt;use.
&lt;br&gt;&lt;br&gt;The ObjectUtils class has a corresponding #createPackageForDownload
&lt;br&gt;method that make it simpler to download encrypted objects from S3,
&lt;br&gt;decrypting the data as it is downloaded.
&lt;br&gt;&lt;br&gt;Alternately, you can use the EncrptionUtil #encrypt and #decrypt
&lt;br&gt;methods to generate cipher input and output streams. These will
&lt;br&gt;encrypt or decrypt data in the underlying streams you provide.
&lt;br&gt;However, if you use these cipher streams directly, it would be wise to
&lt;br&gt;include enough metadata information with your S3 objects to allow you
&lt;br&gt;to decrypt them later. The advantage of the ObjectUtils methods is
&lt;br&gt;that they automatically create and consume S3 metadata items that
&lt;br&gt;indicate the algorithm that was used to encrypt data.
&lt;br&gt;&lt;br&gt;Hope this helps,
&lt;br&gt;James
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Tue, Jun 9, 2009 at 3:10 PM, Patrick Linehan&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23954846&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;plinehan@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; i'm having trouble getting transparent encryption working when using the
&lt;br&gt;&amp;gt; toolkit.  i had assumed that setting the &amp;quot;crypto.algorithm&amp;quot; property would
&lt;br&gt;&amp;gt; automatically enable encryption, but i was wrong.
&lt;br&gt;&amp;gt; i've searched the docs, mailing lists and the web, but i can't find any
&lt;br&gt;&amp;gt; discussion of this.
&lt;br&gt;&amp;gt; i'm using the standard &amp;quot;PBEWithMD5AndDES&amp;quot; algorithm, and running
&lt;br&gt;&amp;gt; EncryptionUtil.java's &amp;quot;main&amp;quot; method verifies that the cipher should be
&lt;br&gt;&amp;gt; available on my machine.
&lt;br&gt;&amp;gt; is there a setting i'm missing?  does the toolkit even support this
&lt;br&gt;&amp;gt; functionality, or is it limited to the applications?
&lt;br&gt;&amp;gt; any help would be grealy appreciated.
&lt;br&gt;&amp;gt; thanks!
&lt;br&gt;&amp;gt; PAt
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23954846&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23954846&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/toolkit-and-crypto-tp23954690p23954846.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23954880</id>
	<title>Re: toolkit and crypto</title>
	<published>2009-06-09T19:41:55Z</published>
	<updated>2009-06-09T19:41:55Z</updated>
	<author>
		<name>Patrick Linehan</name>
	</author>
	<content type="html">&lt;div&gt;&amp;gt; is there a setting i&amp;#39;m missing?  does the toolkit even support this functionality, or&lt;/div&gt;&lt;div&gt;&amp;gt; is it limited to the applications?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;after doing some more reading and grepping of the source, i believe i can now answer my own question:  the toolkit does not support &amp;quot;transparent&amp;quot; encryption, only the apps&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;it looks like i should use ObjectUtils and/or EncryptionUtil to do this work manually before uploading by blobs.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;am i now stuck with &lt;a href=&quot;http://en.wikipedia.org/wiki/Warnock&amp;#39;s_Dilemma&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;warnock&amp;#39;s dilemma&lt;/a&gt;?  only time will tell.&lt;/div&gt;

&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Jun 9, 2009 at 3:10 PM, Patrick Linehan &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23954880&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;plinehan@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;

&lt;div&gt;i&amp;#39;m having trouble getting transparent encryption working when using the toolkit.  i had assumed that setting the &amp;quot;crypto.algorithm&amp;quot; property would automatically enable encryption, but i was wrong.&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;i&amp;#39;ve searched the docs, mailing lists and the web, but i can&amp;#39;t find any discussion of this.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;i&amp;#39;m using the standard &amp;quot;PBEWithMD5AndDES&amp;quot; algorithm, and running EncryptionUtil.java&amp;#39;s &amp;quot;main&amp;quot; method verifies that the cipher should be available on my machine.&lt;/div&gt;


&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;is there a setting i&amp;#39;m missing?  does the toolkit even support this functionality, or is it limited to the applications?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;any help would be grealy appreciated.&lt;/div&gt;&lt;div&gt;&lt;br&gt;


&lt;/div&gt;&lt;div&gt;thanks!&lt;/div&gt;&lt;div&gt;PAt&lt;/div&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/toolkit-and-crypto-tp23954690p23954880.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23954690</id>
	<title>toolkit and crypto</title>
	<published>2009-06-09T15:10:47Z</published>
	<updated>2009-06-09T15:10:47Z</updated>
	<author>
		<name>Patrick Linehan</name>
	</author>
	<content type="html">&lt;div&gt;i&amp;#39;m having trouble getting transparent encryption working when using the toolkit.  i had assumed that setting the &amp;quot;crypto.algorithm&amp;quot; property would automatically enable encryption, but i was wrong.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;i&amp;#39;ve searched the docs, mailing lists and the web, but i can&amp;#39;t find any discussion of this.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;i&amp;#39;m using the standard &amp;quot;PBEWithMD5AndDES&amp;quot; algorithm, and running EncryptionUtil.java&amp;#39;s &amp;quot;main&amp;quot; method verifies that the cipher should be available on my machine.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;is there a setting i&amp;#39;m missing?  does the toolkit even support this functionality, or is it limited to the applications?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;any help would be grealy appreciated.&lt;/div&gt;&lt;div&gt;&lt;br&gt;

&lt;/div&gt;&lt;div&gt;thanks!&lt;/div&gt;&lt;div&gt;PAt&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/toolkit-and-crypto-tp23954690p23954690.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23825231</id>
	<title>Re: S3 GET connection failed for</title>
	<published>2009-06-01T18:53:16Z</published>
	<updated>2009-06-01T18:53:16Z</updated>
	<author>
		<name>James Murty-2</name>
	</author>
	<content type="html">Hi Joe,&lt;br&gt;&lt;br&gt;I haven&amp;#39;t come across this kind of error before so I&amp;#39;m afraid I don&amp;#39;t have any solutions. I&amp;#39;ve done some Googling without finding a consistent explanation.&lt;br&gt;&lt;br&gt;Are you running your application on Solaris with TCP No Delay enabled? If so, this bug report might be relevant:&lt;br&gt;

&lt;a href=&quot;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6378870&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6378870&lt;/a&gt;&lt;br&gt;&lt;br&gt;I have come across a few other mentions of this issue but no solid fixes or work-arounds:&lt;br&gt;

&lt;a href=&quot;http://www.nabble.com/SocketException:-Connection-reset---Invalid-argument-td9478521.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/SocketException:-Connection-reset---Invalid-argument-td9478521.html&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://lists.apple.com/archives/Java-dev/2008/Jul/msg00089.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.apple.com/archives/Java-dev/2008/Jul/msg00089.html&lt;/a&gt;&lt;br&gt;

&lt;a href=&quot;http://www.innovation.ch/java/HTTPClient/errors.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innovation.ch/java/HTTPClient/errors.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Reading between the lines of some of these discussions, it sounds like this exception *may* be something you can ignore as an intermittent connection problem -- despite the nasty exception message.&lt;br&gt;

&lt;br&gt;Some of the links even imply this exception indicates a server-side problem, though that seems unlikely given you&amp;#39;re interacting with S3. I don&amp;#39;t suppose there&amp;#39;s a proxy between your client and S3? I notice that you&amp;#39;re connecting with HTTPS, so probably not.&lt;br&gt;

&lt;br&gt;If you think it is acceptable to ignore these exceptions and just retry the operation, you may want to modify JetS3t RestS3Service class to catch these specific exceptions and retry the request using its built-in retry mechanism -- like it already does for Internal Server (500) errors from the S3 service. By default, this exception will be thrown by RestS3Service straight away and it won&amp;#39;t retry the request.&lt;br&gt;

&lt;br&gt;Does anyone else have experience with this issue?&lt;br&gt;&lt;br&gt;James&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Jun 1, 2009 at 5:57 PM, Joe Moreno &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23825231&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;joemoreno@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Hi,&lt;br&gt;
&lt;br&gt;
    I have some code that uploads thousands of objects into S3, using several threads at a time. For some reason, the code runs fine for for awhile and then it suddenly starts throwing exceptions that look like this:&lt;br&gt;


&lt;br&gt;
[2009-06-01 02:19:34 PDT] &amp;lt;&lt;a href=&quot;http://S3HTMLBucketThread-archive.adjix.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;S3HTMLBucketThread-archive.adjix.com&lt;/a&gt; : 4xpd-20090501-20090531-713e20e95a60410499d9b79ec596e7a5.csv&amp;gt; &lt;a href=&quot;http://archive.adjix.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;archive.adjix.com&lt;/a&gt; Exception writing HTML file to bucket = org.jets3t.service.S3ServiceException: S3 GET connection failed for &amp;#39;/&amp;#39;&lt;br&gt;


org.jets3t.service.S3ServiceException: S3 GET connection failed for &amp;#39;/&amp;#39;&lt;br&gt;
        at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:516)&lt;br&gt;
        at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRestGet(RestS3Service.java:752)&lt;br&gt;
        at org.jets3t.service.impl.rest.httpclient.RestS3Service.listAllBucketsImpl(RestS3Service.java:1041)&lt;br&gt;
        at org.jets3t.service.S3Service.listAllBuckets(S3Service.java:1348)&lt;br&gt;
        at org.jets3t.service.S3Service.getBucket(S3Service.java:1578)&lt;br&gt;
        at org.jets3t.service.S3Service.getOrCreateBucket(S3Service.java:1601)&lt;br&gt;
        at com.woextras.S3Utilities.bucketNamed(S3Utilities.java:50)&lt;br&gt;
        at com.woextras.S3HTMLBucketThread.run(S3HTMLBucketThread.java:82)&lt;br&gt;
Caused by: java.net.SocketException: Invalid argument&lt;br&gt;
        at java.net.SocketInputStream.socketRead0(Native Method)&lt;br&gt;
        at java.net.SocketInputStream.read(SocketInputStream.java:129)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:723)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java:1366)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(HandshakeOutStream.java:103)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.Handshaker.kickstart(Handshaker.java:528)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1120)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1029)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:622)&lt;br&gt;
        at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)&lt;br&gt;
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)&lt;br&gt;
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)&lt;br&gt;
        at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)&lt;br&gt;
        at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManager.java:1565&lt;br&gt;
)&lt;br&gt;
        at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)&lt;br&gt;
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)&lt;br&gt;
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)&lt;br&gt;
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)&lt;br&gt;
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)&lt;br&gt;
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)&lt;br&gt;
        at org.jets3t.service.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java:342)&lt;br&gt;
        ... 7 more&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Any help would be appreciated.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
- Joe&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23825231&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23825231&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/S3-GET-connection-failed-for-tp23824865p23825231.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23824865</id>
	<title>S3 GET connection failed for</title>
	<published>2009-06-01T17:57:13Z</published>
	<updated>2009-06-01T17:57:13Z</updated>
	<author>
		<name>Joe Moreno-2</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;I have some code that uploads thousands of objects into S3, using &amp;nbsp;
&lt;br&gt;several threads at a time. For some reason, the code runs fine for for &amp;nbsp;
&lt;br&gt;awhile and then it suddenly starts throwing exceptions that look like &amp;nbsp;
&lt;br&gt;this:
&lt;br&gt;&lt;br&gt;[2009-06-01 02:19:34 PDT] &amp;lt;S3HTMLBucketThread-archive.adjix.com : &amp;nbsp;
&lt;br&gt;4xpd-20090501-20090531-713e20e95a60410499d9b79ec596e7a5.csv&amp;gt; &amp;nbsp;
&lt;br&gt;archive.adjix.com Exception writing HTML file to bucket = &amp;nbsp;
&lt;br&gt;org.jets3t.service.S3ServiceException: S3 GET connection failed for '/'
&lt;br&gt;org.jets3t.service.S3ServiceException: S3 GET connection failed for '/'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.jets3t 
&lt;br&gt;.service 
&lt;br&gt;.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java: 
&lt;br&gt;516)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.jets3t 
&lt;br&gt;.service 
&lt;br&gt;.impl.rest.httpclient.RestS3Service.performRestGet(RestS3Service.java: 
&lt;br&gt;752)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.jets3t 
&lt;br&gt;.service 
&lt;br&gt;.impl 
&lt;br&gt;.rest.httpclient.RestS3Service.listAllBucketsImpl(RestS3Service.java: 
&lt;br&gt;1041)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.S3Service.listAllBuckets(S3Service.java:1348)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.S3Service.getBucket(S3Service.java:1578)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.jets3t.service.S3Service.getOrCreateBucket(S3Service.java:1601)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.woextras.S3Utilities.bucketNamed(S3Utilities.java:50)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.woextras.S3HTMLBucketThread.run(S3HTMLBucketThread.java:82)
&lt;br&gt;Caused by: java.net.SocketException: Invalid argument
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.SocketInputStream.socketRead0(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.SocketInputStream.read(SocketInputStream.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com 
&lt;br&gt;.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java: 
&lt;br&gt;723)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com 
&lt;br&gt;.sun 
&lt;br&gt;.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java: 
&lt;br&gt;1366)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com 
&lt;br&gt;.sun 
&lt;br&gt;.net.ssl.internal.ssl.HandshakeOutStream.flush(HandshakeOutStream.java: 
&lt;br&gt;103)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.sun.net.ssl.internal.ssl.Handshaker.kickstart(Handshaker.java: 
&lt;br&gt;528)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com 
&lt;br&gt;.sun 
&lt;br&gt;.net 
&lt;br&gt;.ssl.internal.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java: 
&lt;br&gt;1120)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com 
&lt;br&gt;.sun 
&lt;br&gt;.net 
&lt;br&gt;.ssl 
&lt;br&gt;.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java: 
&lt;br&gt;1029)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com 
&lt;br&gt;.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java: 
&lt;br&gt;622)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;com 
&lt;br&gt;.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java: 
&lt;br&gt;65)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.commons 
&lt;br&gt;.httpclient 
&lt;br&gt;.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager 
&lt;br&gt;$ 
&lt;br&gt;HttpConnectionAdapter 
&lt;br&gt;.flushRequestOutputStream(MultiThreadedHttpConnectionManager.java:1565
&lt;br&gt;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java: 
&lt;br&gt;2116)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java: 
&lt;br&gt;1096)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.commons 
&lt;br&gt;.httpclient 
&lt;br&gt;.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.commons 
&lt;br&gt;.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java: 
&lt;br&gt;171)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java: 
&lt;br&gt;397)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java: 
&lt;br&gt;323)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.jets3t 
&lt;br&gt;.service 
&lt;br&gt;.impl.rest.httpclient.RestS3Service.performRequest(RestS3Service.java: 
&lt;br&gt;342)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 7 more
&lt;br&gt;&lt;br&gt;&lt;br&gt;Any help would be appreciated.
&lt;br&gt;&lt;br&gt;&lt;br&gt;- Joe
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23824865&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23824865&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/S3-GET-connection-failed-for-tp23824865p23824865.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23789865</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-29T19:57:42Z</published>
	<updated>2009-05-29T19:57:42Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div&gt;Hi Mark,&lt;br&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Does Jets3t plans to have any APIs to encrypt/decrypt users data based on&lt;br&gt;
AES256 standards/..&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;JetS3t includes support for encryption, and combined with the BouncyCastle encryption library that is packaged with the distribution you can use the AES cipher.&lt;br&gt;&lt;br&gt;There is a section called &amp;quot;Encryption properties&amp;quot; on the configuration page that details how to configure service-wide encryption:&lt;br&gt;

&lt;a href=&quot;http://jets3t.s3.amazonaws.com/toolkit/configuration.html#jets3t&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jets3t.s3.amazonaws.com/toolkit/configuration.html#jets3t&lt;/a&gt;&lt;br&gt;&lt;br&gt;See also the documentation for the EncryptUtil utility class, which provides more fine-grained tools for encrypting/decrypting byte arrays and input streams:&lt;br&gt;

&lt;a href=&quot;http://jets3t.s3.amazonaws.com/api/org/jets3t/service/security/EncryptionUtil.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jets3t.s3.amazonaws.com/api/org/jets3t/service/security/EncryptionUtil.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;The ObjectUtils class pulls everything together and makes it easy to prepare objects whose data will be encrypted prior to upload:&lt;br&gt;

&lt;font class=&quot;FrameItemFont&quot;&gt;&lt;a style=&quot;&quot; href=&quot;http://jets3t.s3.amazonaws.com/api/org/jets3t/service/utils/ObjectUtils.html&quot; title=&quot;class in org.jets3t.service.utils&quot; target=&quot;classFrame&quot; rel=&quot;nofollow&quot;&gt;http://jets3t.s3.amazonaws.com/api/org/jets3t/service/utils/ObjectUtils.html&lt;/a&gt;&lt;/font&gt;&lt;br&gt;

&lt;br&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Thanks for making things clear..:-)&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;You&amp;#39;re welcome, good luck with it.&lt;br&gt;&lt;br&gt;James&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23789865.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23789633</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-29T19:23:54Z</published>
	<updated>2009-05-29T19:23:54Z</updated>
	<author>
		<name>MarkAtHarvest</name>
	</author>
	<content type="html">Thanks James, for making things crystal clear. The more I think of it more things get complex..
&lt;br&gt;&lt;br&gt;I have the big picture now, here is what I am planning to do..
&lt;br&gt;-- I do not have a choice but keep the data encrypted all times..
&lt;br&gt;-- Rules to keep different buckets for different access points
&lt;br&gt;-- Use s3fs/subcloud to mount S3 on EC2 
&lt;br&gt;-- Samba uses the Mount Point (how will samba decrypt and show the data to client needs to be formulated, I guess the decrypion will happen on Server..)
&lt;br&gt;-- Put some 3rdParty/softwares , proper access controls and procedures to make sure admins accidently
&lt;br&gt;do not access the data. but are aware with the hurdles, and logging, that they are accessing on purpose.
&lt;br&gt;-- EBS is worth looking, but S3 webservices on JetS3T is so easy, and with new features getting added it makes life easier for programmers, with same code can be resused and extend to create different type of clients. 
&lt;br&gt;&amp;nbsp; &amp;nbsp;* I am not aware of any ready made APIs, of the opinion that there is lot of work from ground up to create a web application on top of it. And have to repeat the same.. 
&lt;br&gt;&lt;br&gt;Does Jets3t plans to have any APIs to encrypt/decrypt users data based on AES256 standards/..
&lt;br&gt;&lt;br&gt;Thanks for making things clear..&lt;img class='smiley' src='http://old.nabble.com/images/smiley/smiley_beam.gif' /&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;James Murty-3 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Mark, to make your objectives achievable I think you need to simplify things
&lt;br&gt;as much as you can. You say that your requirements are simple, but I don't
&lt;br&gt;think they are.
&lt;br&gt;&lt;br&gt;Here are some things you need to think about:
&lt;br&gt;&lt;br&gt;- If you want to protect your customer's data &amp;quot;at rest&amp;quot; from Amazon staff,
&lt;br&gt;or from your AWS account being compromised, you must encrypt the data. You
&lt;br&gt;have no choice, even though it makes everything more complicated.
&lt;br&gt;&lt;br&gt;- If you encrypt data, you need to decide where the encryption/decryption
&lt;br&gt;will take place.
&lt;br&gt;* You get the most security if client-side software does this, in which case
&lt;br&gt;no-one but your clients can read the data. However the clients then need to
&lt;br&gt;deal with the complexity of installing/managing software, and you need to
&lt;br&gt;provide this software.
&lt;br&gt;* If you want to provide web access to the data without any client-side
&lt;br&gt;software, you will need to encrypt/decrypt on your server. This is less
&lt;br&gt;secure but more user-friendly. You will also need to trust your admins.
&lt;br&gt;&lt;br&gt;- Trying to have multiple access points for writing to the same storage
&lt;br&gt;space is a bad idea. Only do this if you will have some very smart
&lt;br&gt;software/processes to manage (or avoid) data writing collisions, or if the
&lt;br&gt;Cloudfront and JetS3t components use completely different S3 buckets. This
&lt;br&gt;isn't an issue of compatibility between Cloudfront and JetS3t
&lt;br&gt;&lt;br&gt;- Providing SAMBA access to S3 objects sounds very difficult indeed. Are you
&lt;br&gt;going to cache all or some of your S3 objects on an EC2 instance to make it
&lt;br&gt;available via SAMBA? If not, how will you mediate between the SAMBA server
&lt;br&gt;on EC2 and your S3 storage? If so, how and where will you handle
&lt;br&gt;encryption/decryption of the data?
&lt;br&gt;&lt;br&gt;- Jon's comment on using EC2's Elastic Block Store drives is worth
&lt;br&gt;considering.
&lt;br&gt;&lt;br&gt;James
&lt;br&gt;&lt;br&gt;On Wed, May 27, 2009 at 1:40 PM, MarkAtHarvest &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thank you Jonathan , James.
&lt;br&gt;&amp;gt; I think I need to work more on IT Standards which acceptable. Will comeback
&lt;br&gt;&amp;gt; on it
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; About dual access, I need to use S3, I am very comfortable with it, rather
&lt;br&gt;&amp;gt; than going for a new solution. I think with Subcloud I can use Jets3t (need
&lt;br&gt;&amp;gt; to confirm on it though)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jonathan Harlap wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Hi Mark,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; First off, I'm leaving aside what I think is an obvious issue you'll need
&lt;br&gt;&amp;gt; &amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt; resolve about the two access methods conflicting (ie, users manipulating
&lt;br&gt;&amp;gt; &amp;gt; the
&lt;br&gt;&amp;gt; &amp;gt; same data via your web app and smb simultaneously). &amp;nbsp;James already
&lt;br&gt;&amp;gt; &amp;gt; mentioned
&lt;br&gt;&amp;gt; &amp;gt; it and it's a property of your apparent design not of the AWS services.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; What strikes me as particularly interesting your statement that S3 will
&lt;br&gt;&amp;gt; be
&lt;br&gt;&amp;gt; &amp;gt; mounted in an EC2 instance to provide smb access. &amp;nbsp;If you're doing that,
&lt;br&gt;&amp;gt; &amp;gt; couldn't you just as well put your data in an EBS volume, mount that to
&lt;br&gt;&amp;gt; &amp;gt; your
&lt;br&gt;&amp;gt; &amp;gt; EC2 instance for smb access and *also* have your web app interact with
&lt;br&gt;&amp;gt; the
&lt;br&gt;&amp;gt; &amp;gt; data which now appears to exist on a local mount point? &amp;nbsp;Then S3 (as an
&lt;br&gt;&amp;gt; &amp;gt; API)
&lt;br&gt;&amp;gt; &amp;gt; is out of the picture entirely and you have what sounds like a simpler
&lt;br&gt;&amp;gt; &amp;gt; problem to solve. &amp;nbsp;I put that aside now as well, as it's more a question
&lt;br&gt;&amp;gt; &amp;gt; of
&lt;br&gt;&amp;gt; &amp;gt; your design than anything S3 specific, which was the purpose of the
&lt;br&gt;&amp;gt; &amp;gt; question, I believe.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; S3 signed urls are not related to jets3t, although jets3t does facilitate
&lt;br&gt;&amp;gt; &amp;gt; their creation. &amp;nbsp;However, I interpret your question to say that you lose
&lt;br&gt;&amp;gt; &amp;gt; the
&lt;br&gt;&amp;gt; &amp;gt; ability to point user's web browsers directly at a signed url, and this
&lt;br&gt;&amp;gt; &amp;gt; would be correct if you encrypt the data in S3. &amp;nbsp;If you encrypt the data
&lt;br&gt;&amp;gt; &amp;gt; you
&lt;br&gt;&amp;gt; &amp;gt; store, then you will need to provide a client (whether it be a web app or
&lt;br&gt;&amp;gt; &amp;gt; a
&lt;br&gt;&amp;gt; &amp;gt; thick client) that will perform the encryption/decryption for your
&lt;br&gt;&amp;gt; &amp;gt; clients.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Unfortunately, I don't think anyone outside your business can really
&lt;br&gt;&amp;gt; &amp;gt; answer
&lt;br&gt;&amp;gt; &amp;gt; the questions you're posing beyond what has already been said. &amp;nbsp;We don't
&lt;br&gt;&amp;gt; &amp;gt; know what your application does. &amp;nbsp;We can't tell you whether to encrypt
&lt;br&gt;&amp;gt; &amp;gt; your
&lt;br&gt;&amp;gt; &amp;gt; data and, if so, how, nor how to adapt your app design accordingly.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Good luck with your project.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Cheers,
&lt;br&gt;&amp;gt; &amp;gt; Jonathan
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Wed, May 27, 2009 at 1:58 PM, MarkAtHarvest
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Thanks Jonathan for the interesting links.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; My requirement is very simple, just want to build a application based on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; S3
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; where I can store customers data, and give them a guarantee that your
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; data
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; is safe and secure, while at move and while at rest.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 1. My JetS3t Web application will access the data for the customer as
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; well
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; as
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 2. S3 will get mounted on EC2 for a SAMBA access.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Data while at move can be protected with SSL, I am more concerned with
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; data
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; while at rest, also about accessKey, SecretKey, TokenIDs.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Questions which arise are
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 1. Do i need to encrypt the S3 data for such type of situations (If I
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; encrypt, then i loose the JetS3t features like getSignedUrl, which
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; creates
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; link to open the file directly from S3 instead of coming to our servers)
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 2. what are must must things I need to do.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Thanks again for your inputs
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Jonathan Harlap wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Mark,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; I suspect one source of confusion for you is the claim of HIPAA
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; compliance.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Firstly, AWS itself is not HIPAA compliant nor does it try to be. &amp;nbsp;The
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; whitepaper in question discusses some of the strategies that might be
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; used
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; by AWS customers to build HIPAA compliant systems that run on the AWS
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; cloud.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; As to crypto, high security, and so on - I don't find your need very
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; clear,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; so I can't offer any specific advice other than to say that crypto is
&lt;br&gt;&amp;gt; a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; very
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; tricky thing to do right, and a very easy thing to do wrong, so for
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; clients' sake, do it carefully. &amp;nbsp;For a fun example of how the little
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; details
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; make a difference, see
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001267.htmland&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001267.htmland&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001268.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001268.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Cheers,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; J
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; On Wed, May 27, 2009 at 8:47 AM, MarkAtHarvest
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Thank you for clearing my doubt!
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; But I see white papers saying Amazon AWS is HIPAA compliant, which is
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; stringent security standard.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; The confusion I have is
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; 1. I have a webcient build on JetS3 application,soon be adding a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; DevPay
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; support.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; 2. I also want to sync S3 files on EC2 using something like Subcloud
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; and
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; provide access to the data
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; on clients windows explorer using SAMBA.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Now if I do not encrypt, and use ACL to control access on the S3, so
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; that
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; only the respective client has an access to it.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Subcloud will not be able to import the data , if it does not have
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; permission, or it will be able to import the data using secret key.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; As per what you say, I need to keep that secretKey really secret and
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; only
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; one Admin can know it and there should be policies to access that
&lt;br&gt;&amp;gt; key.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; So all the S3 products out there in market who use S3, administrator
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; do
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; have
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; a access to data, which might be controlled by some measures. So how
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; can
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; be
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; claim high security compliance
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Thanks for addressing this question, I am not able to get a clean
&lt;br&gt;&amp;gt; head
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; path
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; on it
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Now is that acceptable in terms of Secu
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; James Murty-3 wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The only way to allow clients to store encrypted data in S3 in such
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; way
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; that administrators cannot read it, is to provide some kind of
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; application
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; the client can run on his/her own machine to do this work.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; If you don't trust your admins, there is little point encrypting a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; user's
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; files on your own server because admins will have simply be able to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; access
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; to the data there, rather than from S3 directly. Encrypting the
&lt;br&gt;&amp;gt; data
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; your
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; server would protect it from the Amazon admins who maintain S3, but
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; from
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; your own server admins.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; A custom client app would allow your clients to automatically
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; encrypt
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; data
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; prior to uploading, and to decrypt it when downloading. This app
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; could
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; also
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; be designed to interact with your server component to obtain signed
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; URLs
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; gain access to S3.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The problem is, such an app doesn't exist as far as I know. The
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; combination
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; of JetS3t's CockpitLite and Gatekeeper applications comes close,
&lt;br&gt;&amp;gt; but
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; CockpitLite does not do any encryption.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hope this helps,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; James
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade
&lt;br&gt;&amp;gt; it
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; DEV
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; following
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator
&lt;br&gt;&amp;gt; is
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; able
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; 1. can be to encrypt all the files stored in S3.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; The problem I see with that approach is,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; *. I cannot use Amazon HTTP Post to directly upload files on S3,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; without
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; going through my server.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; *. I cannot use createSignedGetUrl(), to create signed URLs to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; expose
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; links for a temporary time, as the files need to be brought to my
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; sever
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; before user can download it.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Is there a way I can solve the above two problems..
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23750391.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23750391.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23789633.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23767978</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-28T12:01:57Z</published>
	<updated>2009-05-28T12:01:57Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">Mark, to make your objectives achievable I think you need to simplify things as much as you can. You say that your requirements are simple, but I don&amp;#39;t think they are.&lt;br&gt;&lt;br&gt;Here are some things you need to think about:&lt;br&gt;

&lt;br&gt;- If you want to protect your customer&amp;#39;s data &amp;quot;at rest&amp;quot; from Amazon staff, or from your AWS account being compromised, you must encrypt the data. You have no choice, even though it makes everything more complicated.&lt;br&gt;

&lt;br&gt;- If you encrypt data, you need to decide where the encryption/decryption will take place. &lt;br&gt;* You get the most security if client-side software does this, in which case no-one but your clients can read the data. However the clients then need to deal with the complexity of installing/managing software, and you need to provide this software.&lt;br&gt;

* If you want to provide web access to the data without any client-side software, you will need to encrypt/decrypt on your server. This is less secure but more user-friendly. You will also need to trust your admins.&lt;br&gt;&lt;br&gt;

- Trying to have multiple access points for writing to the same storage space is a bad idea. Only do this if you will have some very smart software/processes to manage (or avoid) data writing collisions, or if the Cloudfront and JetS3t components use completely different S3 buckets. This isn&amp;#39;t an issue of compatibility between Cloudfront and JetS3t&lt;br&gt;

&lt;br&gt;- Providing SAMBA access to S3 objects sounds very difficult indeed. Are you going to cache all or some of your S3 objects on an EC2 instance to make it available via SAMBA? If not, how will you mediate between the SAMBA server on EC2 and your S3 storage? If so, how and where will you handle encryption/decryption of the data?&lt;br&gt;

&lt;br&gt;- Jon&amp;#39;s comment on using EC2&amp;#39;s Elastic Block Store drives is worth considering.&lt;br&gt;&lt;br&gt;James&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, May 27, 2009 at 1:40 PM, MarkAtHarvest &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;br&gt;
Thank you Jonathan , James.&lt;br&gt;
I think I need to work more on IT Standards which acceptable. Will comeback&lt;br&gt;
on it&lt;br&gt;
&lt;br&gt;
About dual access, I need to use S3, I am very comfortable with it, rather&lt;br&gt;
than going for a new solution. I think with Subcloud I can use Jets3t (need&lt;br&gt;
to confirm on it though)&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Jonathan Harlap wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Hi Mark,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; First off, I&amp;#39;m leaving aside what I think is an obvious issue you&amp;#39;ll need&lt;br&gt;
&amp;gt; to&lt;br&gt;
&amp;gt; resolve about the two access methods conflicting (ie, users manipulating&lt;br&gt;
&amp;gt; the&lt;br&gt;
&amp;gt; same data via your web app and smb simultaneously).  James already&lt;br&gt;
&amp;gt; mentioned&lt;br&gt;
&amp;gt; it and it&amp;#39;s a property of your apparent design not of the AWS services.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; What strikes me as particularly interesting your statement that S3 will be&lt;br&gt;
&amp;gt; mounted in an EC2 instance to provide smb access.  If you&amp;#39;re doing that,&lt;br&gt;
&amp;gt; couldn&amp;#39;t you just as well put your data in an EBS volume, mount that to&lt;br&gt;
&amp;gt; your&lt;br&gt;
&amp;gt; EC2 instance for smb access and *also* have your web app interact with the&lt;br&gt;
&amp;gt; data which now appears to exist on a local mount point?  Then S3 (as an&lt;br&gt;
&amp;gt; API)&lt;br&gt;
&amp;gt; is out of the picture entirely and you have what sounds like a simpler&lt;br&gt;
&amp;gt; problem to solve.  I put that aside now as well, as it&amp;#39;s more a question&lt;br&gt;
&amp;gt; of&lt;br&gt;
&amp;gt; your design than anything S3 specific, which was the purpose of the&lt;br&gt;
&amp;gt; question, I believe.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; S3 signed urls are not related to jets3t, although jets3t does facilitate&lt;br&gt;
&amp;gt; their creation.  However, I interpret your question to say that you lose&lt;br&gt;
&amp;gt; the&lt;br&gt;
&amp;gt; ability to point user&amp;#39;s web browsers directly at a signed url, and this&lt;br&gt;
&amp;gt; would be correct if you encrypt the data in S3.  If you encrypt the data&lt;br&gt;
&amp;gt; you&lt;br&gt;
&amp;gt; store, then you will need to provide a client (whether it be a web app or&lt;br&gt;
&amp;gt; a&lt;br&gt;
&amp;gt; thick client) that will perform the encryption/decryption for your&lt;br&gt;
&amp;gt; clients.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Unfortunately, I don&amp;#39;t think anyone outside your business can really&lt;br&gt;
&amp;gt; answer&lt;br&gt;
&amp;gt; the questions you&amp;#39;re posing beyond what has already been said.  We don&amp;#39;t&lt;br&gt;
&amp;gt; know what your application does.  We can&amp;#39;t tell you whether to encrypt&lt;br&gt;
&amp;gt; your&lt;br&gt;
&amp;gt; data and, if so, how, nor how to adapt your app design accordingly.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Good luck with your project.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Cheers,&lt;br&gt;
&amp;gt; Jonathan&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Wed, May 27, 2009 at 1:58 PM, MarkAtHarvest&lt;br&gt;
&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thanks Jonathan for the interesting links.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; My requirement is very simple, just want to build a application based on&lt;br&gt;
&amp;gt;&amp;gt; S3&lt;br&gt;
&amp;gt;&amp;gt; where I can store customers data, and give them a guarantee that your&lt;br&gt;
&amp;gt;&amp;gt; data&lt;br&gt;
&amp;gt;&amp;gt; is safe and secure, while at move and while at rest.&lt;br&gt;
&amp;gt;&amp;gt; 1. My JetS3t Web application will access the data for the customer as&lt;br&gt;
&amp;gt;&amp;gt; well&lt;br&gt;
&amp;gt;&amp;gt; as&lt;br&gt;
&amp;gt;&amp;gt; 2. S3 will get mounted on EC2 for a SAMBA access.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Data while at move can be protected with SSL, I am more concerned with&lt;br&gt;
&amp;gt;&amp;gt; data&lt;br&gt;
&amp;gt;&amp;gt; while at rest, also about accessKey, SecretKey, TokenIDs.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Questions which arise are&lt;br&gt;
&amp;gt;&amp;gt; 1. Do i need to encrypt the S3 data for such type of situations (If I&lt;br&gt;
&amp;gt;&amp;gt; encrypt, then i loose the JetS3t features like getSignedUrl, which&lt;br&gt;
&amp;gt;&amp;gt; creates&lt;br&gt;
&amp;gt;&amp;gt; a&lt;br&gt;
&amp;gt;&amp;gt; link to open the file directly from S3 instead of coming to our servers)&lt;br&gt;
&amp;gt;&amp;gt; 2. what are must must things I need to do.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thanks again for your inputs&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Jonathan Harlap wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Mark,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; I suspect one source of confusion for you is the claim of HIPAA&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; compliance.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Firstly, AWS itself is not HIPAA compliant nor does it try to be.  The&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; whitepaper in question discusses some of the strategies that might be&lt;br&gt;
&amp;gt;&amp;gt; used&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; by AWS customers to build HIPAA compliant systems that run on the AWS&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; cloud.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; As to crypto, high security, and so on - I don&amp;#39;t find your need very&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; clear,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; so I can&amp;#39;t offer any specific advice other than to say that crypto is a&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; very&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; tricky thing to do right, and a very easy thing to do wrong, so for&lt;br&gt;
&amp;gt;&amp;gt; your&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; clients&amp;#39; sake, do it carefully.  For a fun example of how the little&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; details&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; make a difference, see&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001267.htmland&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001267.htmland&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001268.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001268.html&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Cheers,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; J&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; On Wed, May 27, 2009 at 8:47 AM, MarkAtHarvest&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Thank you for clearing my doubt!&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; But I see white papers saying Amazon AWS is HIPAA compliant, which is&lt;br&gt;
&amp;gt;&amp;gt; a&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; stringent security standard.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; The confusion I have is&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; 1. I have a webcient build on JetS3 application,soon be adding a&lt;br&gt;
&amp;gt;&amp;gt; DevPay&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; support.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; 2. I also want to sync S3 files on EC2 using something like Subcloud&lt;br&gt;
&amp;gt;&amp;gt; and&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; provide access to the data&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; on clients windows explorer using SAMBA.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Now if I do not encrypt, and use ACL to control access on the S3, so&lt;br&gt;
&amp;gt;&amp;gt; that&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; only the respective client has an access to it.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Subcloud will not be able to import the data , if it does not have&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; permission, or it will be able to import the data using secret key.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; As per what you say, I need to keep that secretKey really secret and&lt;br&gt;
&amp;gt;&amp;gt; only&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; one Admin can know it and there should be policies to access that key.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; So all the S3 products out there in market who use S3, administrator&lt;br&gt;
&amp;gt;&amp;gt; do&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; have&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; a access to data, which might be controlled by some measures. So how&lt;br&gt;
&amp;gt;&amp;gt; can&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; be&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; claim high security compliance&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Thanks for addressing this question, I am not able to get a clean head&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; path&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; on it&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Now is that acceptable in terms of Secu&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; James Murty-3 wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The only way to allow clients to store encrypted data in S3 in such&lt;br&gt;
&amp;gt;&amp;gt; a&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; way&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; that administrators cannot read it, is to provide some kind of&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; application&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; the client can run on his/her own machine to do this work.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; If you don&amp;#39;t trust your admins, there is little point encrypting a&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; user&amp;#39;s&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; files on your own server because admins will have simply be able to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; access&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; to the data there, rather than from S3 directly. Encrypting the data&lt;br&gt;
&amp;gt;&amp;gt; on&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; your&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; server would protect it from the Amazon admins who maintain S3, but&lt;br&gt;
&amp;gt;&amp;gt; not&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; from&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; your own server admins.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; A custom client app would allow your clients to automatically&lt;br&gt;
&amp;gt;&amp;gt; encrypt&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; data&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; prior to uploading, and to decrypt it when downloading. This app&lt;br&gt;
&amp;gt;&amp;gt; could&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; also&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; be designed to interact with your server component to obtain signed&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; URLs&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; gain access to S3.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The problem is, such an app doesn&amp;#39;t exist as far as I know. The&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; combination&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; of JetS3t&amp;#39;s CockpitLite and Gatekeeper applications comes close, but&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; CockpitLite does not do any encryption.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hope this helps,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; James&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; ---&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade it&lt;br&gt;
&amp;gt;&amp;gt; to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; DEV&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance&lt;br&gt;
&amp;gt;&amp;gt; on&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; following&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator is&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; not&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; able&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; 1. can be to encrypt all the files stored in S3.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   The problem I see with that approach is,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   *. I cannot use Amazon HTTP Post to directly upload files on S3,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; without&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; going through my server.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;   *. I cannot use createSignedGetUrl(), to create signed URLs to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; expose&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; links for a temporary time, as the files need to be brought to my&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; sever&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; before user can download it.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Is there a way I can solve the above two problems..&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;


&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&lt;/a&gt;&lt;br&gt;


&amp;gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&lt;/a&gt;&lt;br&gt;


&amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23750391.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23750391.html&lt;/a&gt;&lt;br&gt;


&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23767978&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23767978.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23750391</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-27T13:40:31Z</published>
	<updated>2009-05-27T13:40:31Z</updated>
	<author>
		<name>MarkAtHarvest</name>
	</author>
	<content type="html">Thank you Jonathan , James.
&lt;br&gt;I think I need to work more on IT Standards which acceptable. Will comeback on it
&lt;br&gt;&lt;br&gt;About dual access, I need to use S3, I am very comfortable with it, rather than going for a new solution. I think with Subcloud I can use Jets3t (need to confirm on it though)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Jonathan Harlap wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi Mark,
&lt;br&gt;&lt;br&gt;First off, I'm leaving aside what I think is an obvious issue you'll need to
&lt;br&gt;resolve about the two access methods conflicting (ie, users manipulating the
&lt;br&gt;same data via your web app and smb simultaneously). &amp;nbsp;James already mentioned
&lt;br&gt;it and it's a property of your apparent design not of the AWS services.
&lt;br&gt;&lt;br&gt;What strikes me as particularly interesting your statement that S3 will be
&lt;br&gt;mounted in an EC2 instance to provide smb access. &amp;nbsp;If you're doing that,
&lt;br&gt;couldn't you just as well put your data in an EBS volume, mount that to your
&lt;br&gt;EC2 instance for smb access and *also* have your web app interact with the
&lt;br&gt;data which now appears to exist on a local mount point? &amp;nbsp;Then S3 (as an API)
&lt;br&gt;is out of the picture entirely and you have what sounds like a simpler
&lt;br&gt;problem to solve. &amp;nbsp;I put that aside now as well, as it's more a question of
&lt;br&gt;your design than anything S3 specific, which was the purpose of the
&lt;br&gt;question, I believe.
&lt;br&gt;&lt;br&gt;S3 signed urls are not related to jets3t, although jets3t does facilitate
&lt;br&gt;their creation. &amp;nbsp;However, I interpret your question to say that you lose the
&lt;br&gt;ability to point user's web browsers directly at a signed url, and this
&lt;br&gt;would be correct if you encrypt the data in S3. &amp;nbsp;If you encrypt the data you
&lt;br&gt;store, then you will need to provide a client (whether it be a web app or a
&lt;br&gt;thick client) that will perform the encryption/decryption for your clients.
&lt;br&gt;&lt;br&gt;Unfortunately, I don't think anyone outside your business can really answer
&lt;br&gt;the questions you're posing beyond what has already been said. &amp;nbsp;We don't
&lt;br&gt;know what your application does. &amp;nbsp;We can't tell you whether to encrypt your
&lt;br&gt;data and, if so, how, nor how to adapt your app design accordingly.
&lt;br&gt;&lt;br&gt;Good luck with your project.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Jonathan
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Wed, May 27, 2009 at 1:58 PM, MarkAtHarvest &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks Jonathan for the interesting links.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My requirement is very simple, just want to build a application based on S3
&lt;br&gt;&amp;gt; where I can store customers data, and give them a guarantee that your data
&lt;br&gt;&amp;gt; is safe and secure, while at move and while at rest.
&lt;br&gt;&amp;gt; 1. My JetS3t Web application will access the data for the customer as well
&lt;br&gt;&amp;gt; as
&lt;br&gt;&amp;gt; 2. S3 will get mounted on EC2 for a SAMBA access.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Data while at move can be protected with SSL, I am more concerned with data
&lt;br&gt;&amp;gt; while at rest, also about accessKey, SecretKey, TokenIDs.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Questions which arise are
&lt;br&gt;&amp;gt; 1. Do i need to encrypt the S3 data for such type of situations (If I
&lt;br&gt;&amp;gt; encrypt, then i loose the JetS3t features like getSignedUrl, which creates
&lt;br&gt;&amp;gt; a
&lt;br&gt;&amp;gt; link to open the file directly from S3 instead of coming to our servers)
&lt;br&gt;&amp;gt; 2. what are must must things I need to do.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks again for your inputs
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jonathan Harlap wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Mark,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I suspect one source of confusion for you is the claim of HIPAA
&lt;br&gt;&amp;gt; &amp;gt; compliance.
&lt;br&gt;&amp;gt; &amp;gt; Firstly, AWS itself is not HIPAA compliant nor does it try to be. &amp;nbsp;The
&lt;br&gt;&amp;gt; &amp;gt; whitepaper in question discusses some of the strategies that might be
&lt;br&gt;&amp;gt; used
&lt;br&gt;&amp;gt; &amp;gt; by AWS customers to build HIPAA compliant systems that run on the AWS
&lt;br&gt;&amp;gt; &amp;gt; cloud.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; As to crypto, high security, and so on - I don't find your need very
&lt;br&gt;&amp;gt; &amp;gt; clear,
&lt;br&gt;&amp;gt; &amp;gt; so I can't offer any specific advice other than to say that crypto is a
&lt;br&gt;&amp;gt; &amp;gt; very
&lt;br&gt;&amp;gt; &amp;gt; tricky thing to do right, and a very easy thing to do wrong, so for your
&lt;br&gt;&amp;gt; &amp;gt; clients' sake, do it carefully. &amp;nbsp;For a fun example of how the little
&lt;br&gt;&amp;gt; &amp;gt; details
&lt;br&gt;&amp;gt; &amp;gt; make a difference, see
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001267.htmland&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001267.htmland&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001268.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001268.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Cheers,
&lt;br&gt;&amp;gt; &amp;gt; J
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Wed, May 27, 2009 at 8:47 AM, MarkAtHarvest
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Thank you for clearing my doubt!
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; But I see white papers saying Amazon AWS is HIPAA compliant, which is a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; stringent security standard.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; The confusion I have is
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 1. I have a webcient build on JetS3 application,soon be adding a DevPay
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; support.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 2. I also want to sync S3 files on EC2 using something like Subcloud and
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; provide access to the data
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; on clients windows explorer using SAMBA.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Now if I do not encrypt, and use ACL to control access on the S3, so
&lt;br&gt;&amp;gt; that
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; only the respective client has an access to it.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Subcloud will not be able to import the data , if it does not have
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; permission, or it will be able to import the data using secret key.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; As per what you say, I need to keep that secretKey really secret and
&lt;br&gt;&amp;gt; only
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; one Admin can know it and there should be policies to access that key.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; So all the S3 products out there in market who use S3, administrator do
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; have
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; a access to data, which might be controlled by some measures. So how can
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; be
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; claim high security compliance
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Thanks for addressing this question, I am not able to get a clean head
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; path
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; on it
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Now is that acceptable in terms of Secu
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; James Murty-3 wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The only way to allow clients to store encrypted data in S3 in such a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; way
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; that administrators cannot read it, is to provide some kind of
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; application
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; the client can run on his/her own machine to do this work.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; If you don't trust your admins, there is little point encrypting a
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; user's
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; files on your own server because admins will have simply be able to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; access
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; to the data there, rather than from S3 directly. Encrypting the data
&lt;br&gt;&amp;gt; on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; your
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; server would protect it from the Amazon admins who maintain S3, but
&lt;br&gt;&amp;gt; not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; from
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; your own server admins.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; A custom client app would allow your clients to automatically encrypt
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; data
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; prior to uploading, and to decrypt it when downloading. This app could
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; also
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; be designed to interact with your server component to obtain signed
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; URLs
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; gain access to S3.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; The problem is, such an app doesn't exist as far as I know. The
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; combination
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; of JetS3t's CockpitLite and Gatekeeper applications comes close, but
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; CockpitLite does not do any encryption.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; Hope this helps,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; James
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt; &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade it
&lt;br&gt;&amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; DEV
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; following
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator is
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; able
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; 1. can be to encrypt all the files stored in S3.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; The problem I see with that approach is,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; *. I cannot use Amazon HTTP Post to directly upload files on S3,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; without
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; going through my server.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; *. I cannot use createSignedGetUrl(), to create signed URLs to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; expose
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; links for a temporary time, as the files need to be brought to my
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; sever
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; before user can download it.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Is there a way I can solve the above two problems..
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23750391.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23748594</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-27T11:49:27Z</published>
	<updated>2009-05-27T11:49:27Z</updated>
	<author>
		<name>Jonathan Harlap</name>
	</author>
	<content type="html">Hi Mark,&lt;br&gt;&lt;br&gt;First off, I&amp;#39;m leaving aside what I think is an obvious issue you&amp;#39;ll need to resolve about the two access methods conflicting (ie, users manipulating the same data via your web app and smb simultaneously).  James already mentioned it and it&amp;#39;s a property of your apparent design not of the AWS services.&lt;br&gt;
&lt;br&gt;What strikes me as particularly interesting your statement that S3 will be mounted in an EC2 instance to provide smb access.  If you&amp;#39;re doing that, couldn&amp;#39;t you just as well put your data in an EBS volume, mount that to your EC2 instance for smb access and *also* have your web app interact with the data which now appears to exist on a local mount point?  Then S3 (as an API) is out of the picture entirely and you have what sounds like a simpler problem to solve.  I put that aside now as well, as it&amp;#39;s more a question of your design than anything S3 specific, which was the purpose of the question, I believe.&lt;br&gt;
&lt;br&gt;S3 signed urls are not related to jets3t, although jets3t does facilitate their creation.  However, I interpret your question to say that you lose the ability to point user&amp;#39;s web browsers directly at a signed url, and this would be correct if you encrypt the data in S3.  If you encrypt the data you store, then you will need to provide a client (whether it be a web app or a thick client) that will perform the encryption/decryption for your clients.&lt;br&gt;
&lt;br&gt;Unfortunately, I don&amp;#39;t think anyone outside your business can really answer the questions you&amp;#39;re posing beyond what has already been said.  We don&amp;#39;t know what your application does.  We can&amp;#39;t tell you whether to encrypt your data and, if so, how, nor how to adapt your app design accordingly.&lt;br&gt;
&lt;br&gt;Good luck with your project.&lt;br&gt;&lt;br&gt;Cheers,&lt;br&gt;Jonathan&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, May 27, 2009 at 1:58 PM, MarkAtHarvest &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;br&gt;
Thanks Jonathan for the interesting links.&lt;br&gt;
&lt;br&gt;
My requirement is very simple, just want to build a application based on S3&lt;br&gt;
where I can store customers data, and give them a guarantee that your data&lt;br&gt;
is safe and secure, while at move and while at rest.&lt;br&gt;
1. My JetS3t Web application will access the data for the customer as well&lt;br&gt;
as&lt;br&gt;
2. S3 will get mounted on EC2 for a SAMBA access.&lt;br&gt;
&lt;br&gt;
Data while at move can be protected with SSL, I am more concerned with data&lt;br&gt;
while at rest, also about accessKey, SecretKey, TokenIDs.&lt;br&gt;
&lt;br&gt;
Questions which arise are&lt;br&gt;
1. Do i need to encrypt the S3 data for such type of situations (If I&lt;br&gt;
encrypt, then i loose the JetS3t features like getSignedUrl, which creates a&lt;br&gt;
link to open the file directly from S3 instead of coming to our servers)&lt;br&gt;
2. what are must must things I need to do.&lt;br&gt;
&lt;br&gt;
Thanks again for your inputs&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Jonathan Harlap wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Mark,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I suspect one source of confusion for you is the claim of HIPAA&lt;br&gt;
&amp;gt; compliance.&lt;br&gt;
&amp;gt; Firstly, AWS itself is not HIPAA compliant nor does it try to be.  The&lt;br&gt;
&amp;gt; whitepaper in question discusses some of the strategies that might be used&lt;br&gt;
&amp;gt; by AWS customers to build HIPAA compliant systems that run on the AWS&lt;br&gt;
&amp;gt; cloud.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; As to crypto, high security, and so on - I don&amp;#39;t find your need very&lt;br&gt;
&amp;gt; clear,&lt;br&gt;
&amp;gt; so I can&amp;#39;t offer any specific advice other than to say that crypto is a&lt;br&gt;
&amp;gt; very&lt;br&gt;
&amp;gt; tricky thing to do right, and a very easy thing to do wrong, so for your&lt;br&gt;
&amp;gt; clients&amp;#39; sake, do it carefully.  For a fun example of how the little&lt;br&gt;
&amp;gt; details&lt;br&gt;
&amp;gt; make a difference, see&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001267.htmland&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001267.htmland&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001268.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001268.html&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Cheers,&lt;br&gt;
&amp;gt; J&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Wed, May 27, 2009 at 8:47 AM, MarkAtHarvest&lt;br&gt;
&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thank you for clearing my doubt!&lt;br&gt;
&amp;gt;&amp;gt; But I see white papers saying Amazon AWS is HIPAA compliant, which is a&lt;br&gt;
&amp;gt;&amp;gt; stringent security standard.&lt;br&gt;
&amp;gt;&amp;gt; The confusion I have is&lt;br&gt;
&amp;gt;&amp;gt; 1. I have a webcient build on JetS3 application,soon be adding a DevPay&lt;br&gt;
&amp;gt;&amp;gt; support.&lt;br&gt;
&amp;gt;&amp;gt; 2. I also want to sync S3 files on EC2 using something like Subcloud and&lt;br&gt;
&amp;gt;&amp;gt; provide access to the data&lt;br&gt;
&amp;gt;&amp;gt; on clients windows explorer using SAMBA.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Now if I do not encrypt, and use ACL to control access on the S3, so that&lt;br&gt;
&amp;gt;&amp;gt; only the respective client has an access to it.&lt;br&gt;
&amp;gt;&amp;gt; Subcloud will not be able to import the data , if it does not have&lt;br&gt;
&amp;gt;&amp;gt; permission, or it will be able to import the data using secret key.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; As per what you say, I need to keep that secretKey really secret and only&lt;br&gt;
&amp;gt;&amp;gt; one Admin can know it and there should be policies to access that key.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; So all the S3 products out there in market who use S3, administrator do&lt;br&gt;
&amp;gt;&amp;gt; have&lt;br&gt;
&amp;gt;&amp;gt; a access to data, which might be controlled by some measures. So how can&lt;br&gt;
&amp;gt;&amp;gt; be&lt;br&gt;
&amp;gt;&amp;gt; claim high security compliance&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Thanks for addressing this question, I am not able to get a clean head&lt;br&gt;
&amp;gt;&amp;gt; path&lt;br&gt;
&amp;gt;&amp;gt; on it&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Now is that acceptable in terms of Secu&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; James Murty-3 wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; The only way to allow clients to store encrypted data in S3 in such a&lt;br&gt;
&amp;gt;&amp;gt; way&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; that administrators cannot read it, is to provide some kind of&lt;br&gt;
&amp;gt;&amp;gt; application&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; the client can run on his/her own machine to do this work.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; If you don&amp;#39;t trust your admins, there is little point encrypting a&lt;br&gt;
&amp;gt;&amp;gt; user&amp;#39;s&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; files on your own server because admins will have simply be able to&lt;br&gt;
&amp;gt;&amp;gt; access&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; to the data there, rather than from S3 directly. Encrypting the data on&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; your&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; server would protect it from the Amazon admins who maintain S3, but not&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; from&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; your own server admins.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; A custom client app would allow your clients to automatically encrypt&lt;br&gt;
&amp;gt;&amp;gt; data&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; prior to uploading, and to decrypt it when downloading. This app could&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; also&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; be designed to interact with your server component to obtain signed&lt;br&gt;
&amp;gt;&amp;gt; URLs&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; gain access to S3.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; The problem is, such an app doesn&amp;#39;t exist as far as I know. The&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; combination&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; of JetS3t&amp;#39;s CockpitLite and Gatekeeper applications comes close, but&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; CockpitLite does not do any encryption.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Hope this helps,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; James&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; ---&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade it to&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; DEV&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance on&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; following&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator is&lt;br&gt;
&amp;gt;&amp;gt; not&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; able&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; 1. can be to encrypt all the files stored in S3.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;   The problem I see with that approach is,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;   *. I cannot use Amazon HTTP Post to directly upload files on S3,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; without&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; going through my server.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;   *. I cannot use createSignedGetUrl(), to create signed URLs to&lt;br&gt;
&amp;gt;&amp;gt; expose&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; links for a temporary time, as the files need to be brought to my&lt;br&gt;
&amp;gt;&amp;gt; sever&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; before user can download it.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; Is there a way I can solve the above two problems..&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;

&amp;gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&lt;/a&gt;&lt;br&gt;

&amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html&lt;/a&gt;&lt;br&gt;

&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23748594&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23748594.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23747665</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-27T10:57:59Z</published>
	<updated>2009-05-27T10:57:59Z</updated>
	<author>
		<name>MarkAtHarvest</name>
	</author>
	<content type="html">Thanks Jonathan for the interesting links.
&lt;br&gt;&lt;br&gt;My requirement is very simple, just want to build a application based on S3 where I can store customers data, and give them a guarantee that your data is safe and secure, while at move and while at rest.
&lt;br&gt;1. My JetS3t Web application will access the data for the customer as well as
&lt;br&gt;2. S3 will get mounted on EC2 for a SAMBA access.
&lt;br&gt;&lt;br&gt;Data while at move can be protected with SSL, I am more concerned with data while at rest, also about accessKey, SecretKey, TokenIDs. 
&lt;br&gt;&lt;br&gt;Questions which arise are
&lt;br&gt;1. Do i need to encrypt the S3 data for such type of situations (If I encrypt, then i loose the JetS3t features like getSignedUrl, which creates a link to open the file directly from S3 instead of coming to our servers)
&lt;br&gt;2. what are must must things I need to do.
&lt;br&gt;&lt;br&gt;Thanks again for your inputs
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Jonathan Harlap wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Mark,
&lt;br&gt;&lt;br&gt;I suspect one source of confusion for you is the claim of HIPAA compliance.
&lt;br&gt;Firstly, AWS itself is not HIPAA compliant nor does it try to be. &amp;nbsp;The
&lt;br&gt;whitepaper in question discusses some of the strategies that might be used
&lt;br&gt;by AWS customers to build HIPAA compliant systems that run on the AWS cloud.
&lt;br&gt;&lt;br&gt;As to crypto, high security, and so on - I don't find your need very clear,
&lt;br&gt;so I can't offer any specific advice other than to say that crypto is a very
&lt;br&gt;tricky thing to do right, and a very easy thing to do wrong, so for your
&lt;br&gt;clients' sake, do it carefully. &amp;nbsp;For a fun example of how the little details
&lt;br&gt;make a difference, see &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001267.htmland&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001267.htmland&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.codinghorror.com/blog/archives/001268.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001268.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;J
&lt;br&gt;&lt;br&gt;On Wed, May 27, 2009 at 8:47 AM, MarkAtHarvest &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thank you for clearing my doubt!
&lt;br&gt;&amp;gt; But I see white papers saying Amazon AWS is HIPAA compliant, which is a
&lt;br&gt;&amp;gt; stringent security standard.
&lt;br&gt;&amp;gt; The confusion I have is
&lt;br&gt;&amp;gt; 1. I have a webcient build on JetS3 application,soon be adding a DevPay
&lt;br&gt;&amp;gt; support.
&lt;br&gt;&amp;gt; 2. I also want to sync S3 files on EC2 using something like Subcloud and
&lt;br&gt;&amp;gt; provide access to the data
&lt;br&gt;&amp;gt; on clients windows explorer using SAMBA.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Now if I do not encrypt, and use ACL to control access on the S3, so that
&lt;br&gt;&amp;gt; only the respective client has an access to it.
&lt;br&gt;&amp;gt; Subcloud will not be able to import the data , if it does not have
&lt;br&gt;&amp;gt; permission, or it will be able to import the data using secret key.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; As per what you say, I need to keep that secretKey really secret and only
&lt;br&gt;&amp;gt; one Admin can know it and there should be policies to access that key.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So all the S3 products out there in market who use S3, administrator do
&lt;br&gt;&amp;gt; have
&lt;br&gt;&amp;gt; a access to data, which might be controlled by some measures. So how can be
&lt;br&gt;&amp;gt; claim high security compliance
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for addressing this question, I am not able to get a clean head path
&lt;br&gt;&amp;gt; on it
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Now is that acceptable in terms of Secu
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; James Murty-3 wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The only way to allow clients to store encrypted data in S3 in such a way
&lt;br&gt;&amp;gt; &amp;gt; that administrators cannot read it, is to provide some kind of
&lt;br&gt;&amp;gt; application
&lt;br&gt;&amp;gt; &amp;gt; the client can run on his/her own machine to do this work.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; If you don't trust your admins, there is little point encrypting a user's
&lt;br&gt;&amp;gt; &amp;gt; files on your own server because admins will have simply be able to
&lt;br&gt;&amp;gt; access
&lt;br&gt;&amp;gt; &amp;gt; to the data there, rather than from S3 directly. Encrypting the data on
&lt;br&gt;&amp;gt; &amp;gt; your
&lt;br&gt;&amp;gt; &amp;gt; server would protect it from the Amazon admins who maintain S3, but not
&lt;br&gt;&amp;gt; &amp;gt; from
&lt;br&gt;&amp;gt; &amp;gt; your own server admins.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; A custom client app would allow your clients to automatically encrypt
&lt;br&gt;&amp;gt; data
&lt;br&gt;&amp;gt; &amp;gt; prior to uploading, and to decrypt it when downloading. This app could
&lt;br&gt;&amp;gt; &amp;gt; also
&lt;br&gt;&amp;gt; &amp;gt; be designed to interact with your server component to obtain signed URLs
&lt;br&gt;&amp;gt; &amp;gt; to
&lt;br&gt;&amp;gt; &amp;gt; gain access to S3.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The problem is, such an app doesn't exist as far as I know. The
&lt;br&gt;&amp;gt; &amp;gt; combination
&lt;br&gt;&amp;gt; &amp;gt; of JetS3t's CockpitLite and Gatekeeper applications comes close, but
&lt;br&gt;&amp;gt; &amp;gt; CockpitLite does not do any encryption.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Hope this helps,
&lt;br&gt;&amp;gt; &amp;gt; James
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade it to
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; DEV
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance on
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; following
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator is not
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; able
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; 1. can be to encrypt all the files stored in S3.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; The problem I see with that approach is,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; *. I cannot use Amazon HTTP Post to directly upload files on S3,
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; without
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; going through my server.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; &amp;nbsp; *. I cannot use createSignedGetUrl(), to create signed URLs to expose
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; links for a temporary time, as the files need to be brought to my sever
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; before user can download it.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Is there a way I can solve the above two problems..
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23747665.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23746097</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-27T09:28:32Z</published>
	<updated>2009-05-27T09:28:32Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">As John points out, the level of HIPAA compliance you can achieve using Amazon&amp;#39;s services depends very much on how you use the services. You should read Amazon&amp;#39;s whitepaper carefully to understand the recommended techniques.&lt;br&gt;

&lt;br&gt;Obviously, for a service to be useful someone must have access to the data somewhere. In many cases that will mean that admins have access to data. Whether or not this situation meets &amp;quot;high security compliance&amp;quot; depends on the kind of compliance being claimed, and the policies that control the admins access.&lt;br&gt;

&lt;br&gt;If you want to provide a certain level of security for your customers, you need to have a very clear policy of who can access data, when and why. Compliance is simply a measure of whether you keep to the stated policy.&lt;br&gt;

&lt;br&gt;&lt;br&gt;I am not sure what you are trying to achieve using both ACLs and Subcloud. Do your clients have direct access to their data in S3? If not, then there is no need for ACL controls as the Subcloud server should be the only entity accessing the storage. If your clients do have direct access to S3, I&amp;#39;m not sure how well this will work with Subcloud because multiple access points will be &amp;quot;fighting&amp;quot; over shared storage space. You will need to talk this through with the Subcloud vendor.&lt;br&gt;

&lt;br&gt;James&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, May 27, 2009 at 6:17 AM, Jon Harlap &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23746097&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jharlap@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Mark,&lt;br&gt;&lt;br&gt;I suspect one source of confusion for you is the claim of HIPAA compliance.  Firstly, AWS itself is not HIPAA compliant nor does it try to be.  The whitepaper in question discusses some of the strategies that might be used by AWS customers to build HIPAA compliant systems that run on the AWS cloud.&lt;br&gt;


&lt;br&gt;As to crypto, high security, and so on - I don&amp;#39;t find your need very clear, so I can&amp;#39;t offer any specific advice other than to say that crypto is a very tricky thing to do right, and a very easy thing to do wrong, so for your clients&amp;#39; sake, do it carefully.  For a fun example of how the little details make a difference, see &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001267.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001267.html&lt;/a&gt; and &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001268.html&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001268.html&lt;/a&gt;&lt;br&gt;


&lt;br&gt;Cheers,&lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;J&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, May 27, 2009 at 8:47 AM, MarkAtHarvest &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23746097&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
Thank you for clearing my doubt!&lt;br&gt;
But I see white papers saying Amazon AWS is HIPAA compliant, which is a&lt;br&gt;
stringent security standard.&lt;br&gt;
The confusion I have is&lt;br&gt;
1. I have a webcient build on JetS3 application,soon be adding a DevPay&lt;br&gt;
support.&lt;br&gt;
2. I also want to sync S3 files on EC2 using something like Subcloud and&lt;br&gt;
provide access to the data&lt;br&gt;
on clients windows explorer using SAMBA.&lt;br&gt;
&lt;br&gt;
Now if I do not encrypt, and use ACL to control access on the S3, so that&lt;br&gt;
only the respective client has an access to it.&lt;br&gt;
Subcloud will not be able to import the data , if it does not have&lt;br&gt;
permission, or it will be able to import the data using secret key.&lt;br&gt;
&lt;br&gt;
As per what you say, I need to keep that secretKey really secret and only&lt;br&gt;
one Admin can know it and there should be policies to access that key.&lt;br&gt;
&lt;br&gt;
So all the S3 products out there in market who use S3, administrator do have&lt;br&gt;
a access to data, which might be controlled by some measures. So how can be&lt;br&gt;
claim high security compliance&lt;br&gt;
&lt;br&gt;
Thanks for addressing this question, I am not able to get a clean head path&lt;br&gt;
on it&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Now is that acceptable in terms of Secu&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
James Murty-3 wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; The only way to allow clients to store encrypted data in S3 in such a way&lt;br&gt;
&amp;gt; that administrators cannot read it, is to provide some kind of application&lt;br&gt;
&amp;gt; the client can run on his/her own machine to do this work.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; If you don&amp;#39;t trust your admins, there is little point encrypting a user&amp;#39;s&lt;br&gt;
&amp;gt; files on your own server because admins will have simply be able to access&lt;br&gt;
&amp;gt; to the data there, rather than from S3 directly. Encrypting the data on&lt;br&gt;
&amp;gt; your&lt;br&gt;
&amp;gt; server would protect it from the Amazon admins who maintain S3, but not&lt;br&gt;
&amp;gt; from&lt;br&gt;
&amp;gt; your own server admins.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; A custom client app would allow your clients to automatically encrypt data&lt;br&gt;
&amp;gt; prior to uploading, and to decrypt it when downloading. This app could&lt;br&gt;
&amp;gt; also&lt;br&gt;
&amp;gt; be designed to interact with your server component to obtain signed URLs&lt;br&gt;
&amp;gt; to&lt;br&gt;
&amp;gt; gain access to S3.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; The problem is, such an app doesn&amp;#39;t exist as far as I know. The&lt;br&gt;
&amp;gt; combination&lt;br&gt;
&amp;gt; of JetS3t&amp;#39;s CockpitLite and Gatekeeper applications comes close, but&lt;br&gt;
&amp;gt; CockpitLite does not do any encryption.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Hope this helps,&lt;br&gt;
&amp;gt; James&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest&lt;br&gt;
&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23746097&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade it to&lt;br&gt;
&amp;gt;&amp;gt; DEV&lt;br&gt;
&amp;gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance on&lt;br&gt;
&amp;gt;&amp;gt; following&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator is not&lt;br&gt;
&amp;gt;&amp;gt; able&lt;br&gt;
&amp;gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do&lt;br&gt;
&amp;gt;&amp;gt; 1. can be to encrypt all the files stored in S3.&lt;br&gt;
&amp;gt;&amp;gt;   The problem I see with that approach is,&lt;br&gt;
&amp;gt;&amp;gt;   *. I cannot use Amazon HTTP Post to directly upload files on S3,&lt;br&gt;
&amp;gt;&amp;gt; without&lt;br&gt;
&amp;gt;&amp;gt; going through my server.&lt;br&gt;
&amp;gt;&amp;gt;   *. I cannot use createSignedGetUrl(), to create signed URLs to expose&lt;br&gt;
&amp;gt;&amp;gt; links for a temporary time, as the files need to be brought to my sever&lt;br&gt;
&amp;gt;&amp;gt; before user can download it.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Is there a way I can solve the above two problems..&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;



&amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23746097&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23746097&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&lt;/a&gt;&lt;br&gt;



&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23746097&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23746097&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23746097.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23742358</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-27T06:17:27Z</published>
	<updated>2009-05-27T06:17:27Z</updated>
	<author>
		<name>Jonathan Harlap</name>
	</author>
	<content type="html">Mark,&lt;br&gt;&lt;br&gt;I suspect one source of confusion for you is the claim of HIPAA compliance.  Firstly, AWS itself is not HIPAA compliant nor does it try to be.  The whitepaper in question discusses some of the strategies that might be used by AWS customers to build HIPAA compliant systems that run on the AWS cloud.&lt;br&gt;
&lt;br&gt;As to crypto, high security, and so on - I don&amp;#39;t find your need very clear, so I can&amp;#39;t offer any specific advice other than to say that crypto is a very tricky thing to do right, and a very easy thing to do wrong, so for your clients&amp;#39; sake, do it carefully.  For a fun example of how the little details make a difference, see &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001267.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001267.html&lt;/a&gt; and &lt;a href=&quot;http://www.codinghorror.com/blog/archives/001268.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codinghorror.com/blog/archives/001268.html&lt;/a&gt;&lt;br&gt;
&lt;br&gt;Cheers,&lt;br&gt;J&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, May 27, 2009 at 8:47 AM, MarkAtHarvest &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23742358&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
Thank you for clearing my doubt!&lt;br&gt;
But I see white papers saying Amazon AWS is HIPAA compliant, which is a&lt;br&gt;
stringent security standard.&lt;br&gt;
The confusion I have is&lt;br&gt;
1. I have a webcient build on JetS3 application,soon be adding a DevPay&lt;br&gt;
support.&lt;br&gt;
2. I also want to sync S3 files on EC2 using something like Subcloud and&lt;br&gt;
provide access to the data&lt;br&gt;
on clients windows explorer using SAMBA.&lt;br&gt;
&lt;br&gt;
Now if I do not encrypt, and use ACL to control access on the S3, so that&lt;br&gt;
only the respective client has an access to it.&lt;br&gt;
Subcloud will not be able to import the data , if it does not have&lt;br&gt;
permission, or it will be able to import the data using secret key.&lt;br&gt;
&lt;br&gt;
As per what you say, I need to keep that secretKey really secret and only&lt;br&gt;
one Admin can know it and there should be policies to access that key.&lt;br&gt;
&lt;br&gt;
So all the S3 products out there in market who use S3, administrator do have&lt;br&gt;
a access to data, which might be controlled by some measures. So how can be&lt;br&gt;
claim high security compliance&lt;br&gt;
&lt;br&gt;
Thanks for addressing this question, I am not able to get a clean head path&lt;br&gt;
on it&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Now is that acceptable in terms of Secu&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
James Murty-3 wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; The only way to allow clients to store encrypted data in S3 in such a way&lt;br&gt;
&amp;gt; that administrators cannot read it, is to provide some kind of application&lt;br&gt;
&amp;gt; the client can run on his/her own machine to do this work.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; If you don&amp;#39;t trust your admins, there is little point encrypting a user&amp;#39;s&lt;br&gt;
&amp;gt; files on your own server because admins will have simply be able to access&lt;br&gt;
&amp;gt; to the data there, rather than from S3 directly. Encrypting the data on&lt;br&gt;
&amp;gt; your&lt;br&gt;
&amp;gt; server would protect it from the Amazon admins who maintain S3, but not&lt;br&gt;
&amp;gt; from&lt;br&gt;
&amp;gt; your own server admins.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; A custom client app would allow your clients to automatically encrypt data&lt;br&gt;
&amp;gt; prior to uploading, and to decrypt it when downloading. This app could&lt;br&gt;
&amp;gt; also&lt;br&gt;
&amp;gt; be designed to interact with your server component to obtain signed URLs&lt;br&gt;
&amp;gt; to&lt;br&gt;
&amp;gt; gain access to S3.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; The problem is, such an app doesn&amp;#39;t exist as far as I know. The&lt;br&gt;
&amp;gt; combination&lt;br&gt;
&amp;gt; of JetS3t&amp;#39;s CockpitLite and Gatekeeper applications comes close, but&lt;br&gt;
&amp;gt; CockpitLite does not do any encryption.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Hope this helps,&lt;br&gt;
&amp;gt; James&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest&lt;br&gt;
&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23742358&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade it to&lt;br&gt;
&amp;gt;&amp;gt; DEV&lt;br&gt;
&amp;gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance on&lt;br&gt;
&amp;gt;&amp;gt; following&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator is not&lt;br&gt;
&amp;gt;&amp;gt; able&lt;br&gt;
&amp;gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do&lt;br&gt;
&amp;gt;&amp;gt; 1. can be to encrypt all the files stored in S3.&lt;br&gt;
&amp;gt;&amp;gt;   The problem I see with that approach is,&lt;br&gt;
&amp;gt;&amp;gt;   *. I cannot use Amazon HTTP Post to directly upload files on S3,&lt;br&gt;
&amp;gt;&amp;gt; without&lt;br&gt;
&amp;gt;&amp;gt; going through my server.&lt;br&gt;
&amp;gt;&amp;gt;   *. I cannot use createSignedGetUrl(), to create signed URLs to expose&lt;br&gt;
&amp;gt;&amp;gt; links for a temporary time, as the files need to be brought to my sever&lt;br&gt;
&amp;gt;&amp;gt; before user can download it.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Is there a way I can solve the above two problems..&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; View this message in context:&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;

&amp;gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23742358&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23742358&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html&lt;/a&gt;&lt;br&gt;

&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23742358&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23742358&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23742358.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23741804</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-27T05:46:58Z</published>
	<updated>2009-05-27T05:46:58Z</updated>
	<author>
		<name>MarkAtHarvest</name>
	</author>
	<content type="html">Thank you for clearing my doubt!
&lt;br&gt;But I see white papers saying Amazon AWS is HIPAA compliant, which is a stringent security standard.
&lt;br&gt;The confusion I have is
&lt;br&gt;1. I have a webcient build on JetS3 application,soon be adding a DevPay support. 
&lt;br&gt;2. I also want to sync S3 files on EC2 using something like Subcloud and provide access to the data
&lt;br&gt;on clients windows explorer using SAMBA.
&lt;br&gt;&lt;br&gt;Now if I do not encrypt, and use ACL to control access on the S3, so that only the respective client has an access to it.
&lt;br&gt;Subcloud will not be able to import the data , if it does not have permission, or it will be able to import the data using secret key.
&lt;br&gt;&lt;br&gt;As per what you say, I need to keep that secretKey really secret and only one Admin can know it and there should be policies to access that key.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;So all the S3 products out there in market who use S3, administrator do have a access to data, which might be controlled by some measures. So how can be claim high security compliance
&lt;br&gt;&lt;br&gt;Thanks for addressing this question, I am not able to get a clean head path on it
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Now is that acceptable in terms of Secu
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;James Murty-3 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;The only way to allow clients to store encrypted data in S3 in such a way
&lt;br&gt;that administrators cannot read it, is to provide some kind of application
&lt;br&gt;the client can run on his/her own machine to do this work.
&lt;br&gt;&lt;br&gt;If you don't trust your admins, there is little point encrypting a user's
&lt;br&gt;files on your own server because admins will have simply be able to access
&lt;br&gt;to the data there, rather than from S3 directly. Encrypting the data on your
&lt;br&gt;server would protect it from the Amazon admins who maintain S3, but not from
&lt;br&gt;your own server admins.
&lt;br&gt;&lt;br&gt;A custom client app would allow your clients to automatically encrypt data
&lt;br&gt;prior to uploading, and to decrypt it when downloading. This app could also
&lt;br&gt;be designed to interact with your server component to obtain signed URLs to
&lt;br&gt;gain access to S3.
&lt;br&gt;&lt;br&gt;The problem is, such an app doesn't exist as far as I know. The combination
&lt;br&gt;of JetS3t's CockpitLite and Gatekeeper applications comes close, but
&lt;br&gt;CockpitLite does not do any encryption.
&lt;br&gt;&lt;br&gt;Hope this helps,
&lt;br&gt;James
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest &amp;lt;mark@harvestinfotech.com&amp;gt;wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My jets3t client is working fine, current I am trying to upgrade it to DEV
&lt;br&gt;&amp;gt; Pay account. I would like to ask if I can get little bit guidance on
&lt;br&gt;&amp;gt; following
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am using Amazon Dev Pay, then so as that an evil administrator is not
&lt;br&gt;&amp;gt; able
&lt;br&gt;&amp;gt; to see the S3 files of customers, what exactly do I need to do
&lt;br&gt;&amp;gt; 1. can be to encrypt all the files stored in S3.
&lt;br&gt;&amp;gt; &amp;nbsp; The problem I see with that approach is,
&lt;br&gt;&amp;gt; &amp;nbsp; *. I cannot use Amazon HTTP Post to directly upload files on S3, without
&lt;br&gt;&amp;gt; going through my server.
&lt;br&gt;&amp;gt; &amp;nbsp; *. I cannot use createSignedGetUrl(), to create signed URLs to expose
&lt;br&gt;&amp;gt; links for a temporary time, as the files need to be brought to my sever
&lt;br&gt;&amp;gt; before user can download it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there a way I can solve the above two problems..
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the JetS3t Users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: users-unsubscribe@jets3t.dev.java.net
&lt;br&gt;&amp;gt; For additional commands, e-mail: users-help@jets3t.dev.java.net
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23741804.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23736168</id>
	<title>Re: Questions about security and confidentiality</title>
	<published>2009-05-26T22:21:39Z</published>
	<updated>2009-05-26T22:21:39Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">The only way to allow clients to store encrypted data in S3 in such a way that administrators cannot read it, is to provide some kind of application the client can run on his/her own machine to do this work.&lt;br&gt;&lt;br&gt;If you don&amp;#39;t trust your admins, there is little point encrypting a user&amp;#39;s files on your own server because admins will have simply be able to access to the data there, rather than from S3 directly. Encrypting the data on your server would protect it from the Amazon admins who maintain S3, but not from your own server admins.&lt;br&gt;

&lt;br&gt;A custom client app would allow your clients to automatically encrypt data prior to uploading, and to decrypt it when downloading. This app could also be designed to interact with your server component to obtain signed URLs to gain access to S3.&lt;br&gt;

&lt;br&gt;The problem is, such an app doesn&amp;#39;t exist as far as I know. The combination of JetS3t&amp;#39;s CockpitLite and Gatekeeper applications comes close, but CockpitLite does not do any encryption. &lt;br&gt;&lt;br&gt;Hope this helps,&lt;br&gt;

James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, May 26, 2009 at 9:24 PM, MarkAtHarvest &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23736168&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;br&gt;
My jets3t client is working fine, current I am trying to upgrade it to DEV&lt;br&gt;
Pay account. I would like to ask if I can get little bit guidance on&lt;br&gt;
following&lt;br&gt;
&lt;br&gt;
I am using Amazon Dev Pay, then so as that an evil administrator is not able&lt;br&gt;
to see the S3 files of customers, what exactly do I need to do&lt;br&gt;
1. can be to encrypt all the files stored in S3.&lt;br&gt;
   The problem I see with that approach is,&lt;br&gt;
   *. I cannot use Amazon HTTP Post to directly upload files on S3, without&lt;br&gt;
going through my server.&lt;br&gt;
   *. I cannot use createSignedGetUrl(), to create signed URLs to expose&lt;br&gt;
links for a temporary time, as the files need to be brought to my sever&lt;br&gt;
before user can download it.&lt;br&gt;
&lt;br&gt;
Is there a way I can solve the above two problems..&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;
--&lt;br&gt;
View this message in context: &lt;a href=&quot;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html&lt;/a&gt;&lt;br&gt;


Sent from the JetS3t Users mailing list archive at Nabble.com.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23736168&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=23736168&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23736168.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-23735783</id>
	<title>Questions about security and confidentiality</title>
	<published>2009-05-26T21:24:51Z</published>
	<updated>2009-05-26T21:24:51Z</updated>
	<author>
		<name>MarkAtHarvest</name>
	</author>
	<content type="html">My jets3t client is working fine, current I am trying to upgrade it to DEV Pay account. I would like to ask if I can get little bit guidance on following
&lt;br&gt;&lt;br&gt;I am using Amazon Dev Pay, then so as that an evil administrator is not able to see the S3 files of customers, what exactly do I need to do
&lt;br&gt;1. can be to encrypt all the files stored in S3.
&lt;br&gt;&amp;nbsp; &amp;nbsp;The problem I see with that approach is, 
&lt;br&gt;&amp;nbsp; &amp;nbsp;*. I cannot use Amazon HTTP Post to directly upload files on S3, without going through my server.
&lt;br&gt;&amp;nbsp; &amp;nbsp;*. I cannot use createSignedGetUrl(), to create signed URLs to expose links for a temporary time, as the files need to be brought to my sever before user can download it.
&lt;br&gt;&lt;br&gt;Is there a way I can solve the above two problems..
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Questions-about-security-and-confidentiality-tp23735783p23735783.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22933723</id>
	<title>Re: setting object ACL</title>
	<published>2009-04-07T10:03:59Z</published>
	<updated>2009-04-07T10:03:59Z</updated>
	<author>
		<name>James Murty-2</name>
	</author>
	<content type="html">See my response in the JetS3t Users Google group here:&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://groups.google.com/group/jets3t-users/browse_thread/thread/3a97e3ca34724223?hl=en&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://groups.google.com/group/jets3t-users/browse_thread/thread/3a97e3ca34724223?hl=en&lt;/a&gt;&lt;br clear=&quot;all&quot;&gt;

&lt;br&gt;James&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Apr 7, 2009 at 9:33 AM, Lia Lotz &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22933723&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lia.lotz@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

Hello,&lt;br&gt;
&lt;br&gt;
Can anyone describe how to handle in the following situation:&lt;br&gt;
&lt;br&gt;
During the creation of a S3Object,&lt;br&gt;
how do I set a S3Object&amp;#39;s ACL to public read for all users?&lt;br&gt;
(the object has to be uploaded to an existing bucket)&lt;br&gt;
&lt;br&gt;
Thanks, in advance&lt;br&gt;
&lt;br&gt;
Casimir&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22933723&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22933723&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/setting-object-ACL-tp22933530p22933723.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22933530</id>
	<title>setting object ACL</title>
	<published>2009-04-07T09:33:16Z</published>
	<updated>2009-04-07T09:33:16Z</updated>
	<author>
		<name>Lia Lotz</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;Can anyone describe how to handle in the following situation:
&lt;br&gt;&lt;br&gt;During the creation of a S3Object,
&lt;br&gt;how do I set a S3Object's ACL to public read for all users?
&lt;br&gt;(the object has to be uploaded to an existing bucket)
&lt;br&gt;&lt;br&gt;Thanks, in advance
&lt;br&gt;&lt;br&gt;Casimir
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22933530&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22933530&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/setting-object-ACL-tp22933530p22933530.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22581671</id>
	<title>Re: java.lang.ExceptionInInitializerError in creating AWSCredentials  on Ubuntu</title>
	<published>2009-03-18T08:23:31Z</published>
	<updated>2009-03-18T08:23:31Z</updated>
	<author>
		<name>James Murty-3</name>
	</author>
	<content type="html">There is a problem in your Java installation. &lt;br&gt;&lt;br&gt;How are you running this JetS3t code? Are you running it stand-alone, or in an application server like Tomcat? And what was the initial problem that prompted you to install sunpkcs11.jar?&lt;br&gt;

&lt;br&gt;From a quick Google search it looks like you may have downloaded and installed the wrong version of the security libraries. With any new version of Java you should not need to add security libraries.&lt;br&gt;&lt;br&gt;Look at the replies to this post:&lt;br&gt;
&lt;a href=&quot;http://www.mail-archive.com/users@tomcat.apache.org/msg42161.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mail-archive.com/users@.../msg42161.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;For this person, the issue was caused by:&lt;br&gt;1) Adding the wrong version of JSSE (which caused the Normalizer error)&lt;br&gt;
2) Launching Tomcat from within the Eclispe IDE, which caused the original error for which installing the new JSSE library was the wrong solution.&lt;br&gt;&lt;br&gt;Hope this helps,&lt;br&gt;James&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;---&lt;br&gt;&lt;a href=&quot;http://www.jamesmurty.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.jamesmurty.com&lt;/a&gt;&lt;br&gt;

&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Mar 18, 2009 at 6:26 AM, Kenji Imasaki &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22581671&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kimasaki@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hi,&lt;br&gt;
&lt;br&gt;
I am trying to run simple Jets3t upload example on Utuntu&lt;br&gt;
8.1/java-6-sun-1.6.0.10 like the followings:&lt;br&gt;
&lt;br&gt;
public class jetS3tTest {&lt;br&gt;
        @Test&lt;br&gt;
        public void upload() {&lt;br&gt;
                String awsAccessKey = &amp;quot;XXXX&amp;quot;;&lt;br&gt;
                String awsSecretKey = &amp;quot;YYYY&amp;quot;;&lt;br&gt;
                AWSCredentials awsCredentials =&lt;br&gt;
                        new AWSCredentials(awsAccessKey, awsSecretKey);     &amp;lt;&amp;lt; ERRROR here&lt;br&gt;
&lt;br&gt;
              ....&lt;br&gt;
       }&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Then, I got the following error at creating of AWSCredentials. I did&lt;br&gt;
some google search but I found I have to install sunpkcs. So, I&lt;br&gt;
installed sunpkcs11.jar. But it did not fix the problem.&lt;br&gt;
&lt;br&gt;
Could you let me know how to fix it?&lt;br&gt;
&lt;br&gt;
Thanks.&lt;br&gt;
&lt;br&gt;
FAILED: upload&lt;br&gt;
java.lang.ExceptionInInitializerError&lt;br&gt;
        at sun.text.normalizer.NormalizerBase.decompose(NormalizerBase.java:707)&lt;br&gt;
        at sun.text.normalizer.NormalizerBase$NFKDMode.normalize(NormalizerBase.java:348)&lt;br&gt;
        at sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1592)&lt;br&gt;
        at sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1573)&lt;br&gt;
        at java.text.Normalizer.normalize(Normalizer.java:146)&lt;br&gt;
        at sun.security.x509.AVA.toRFC2253CanonicalString(AVA.java:986)&lt;br&gt;
        at sun.security.x509.RDN.toRFC2253StringInternal(RDN.java:430)&lt;br&gt;
        at sun.security.x509.RDN.toRFC2253String(RDN.java:409)&lt;br&gt;
        at sun.security.x509.X500Name.getRFC2253CanonicalName(X500Name.java:714)&lt;br&gt;
        at sun.security.x509.X500Name.equals(X500Name.java:400)&lt;br&gt;
        at sun.security.pkcs.PKCS7.getCertificate(PKCS7.java:609)&lt;br&gt;
        at sun.security.pkcs.SignerInfo.getCertificate(SignerInfo.java:202)&lt;br&gt;
        at sun.security.pkcs.SignerInfo.verify(SignerInfo.java:328)&lt;br&gt;
        at sun.security.pkcs.PKCS7.verify(PKCS7.java:494)&lt;br&gt;
        at sun.security.pkcs.PKCS7.verify(PKCS7.java:511)&lt;br&gt;
        at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:199)&lt;br&gt;
        at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176)&lt;br&gt;
        at java.util.jar.JarVerifier.processEntry(JarVerifier.java:277)&lt;br&gt;
        at java.util.jar.JarVerifier.update(JarVerifier.java:188)&lt;br&gt;
        at java.util.jar.JarFile.initializeVerifier(JarFile.java:321)&lt;br&gt;
        at java.util.jar.JarFile.getInputStream(JarFile.java:386)&lt;br&gt;
        at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:689)&lt;br&gt;
        at sun.misc.Resource.cachedInputStream(Resource.java:59)&lt;br&gt;
        at sun.misc.Resource.getByteBuffer(Resource.java:154)&lt;br&gt;
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:249)&lt;br&gt;
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)&lt;br&gt;
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)&lt;br&gt;
        at java.security.AccessController.doPrivileged(Native Method)&lt;br&gt;
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)&lt;br&gt;
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)&lt;br&gt;
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)&lt;br&gt;
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)&lt;br&gt;
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)&lt;br&gt;
Caused by: java.lang.RuntimeException: could not locate data&lt;br&gt;
        at sun.text.normalizer.NormalizerImpl.&amp;lt;clinit&amp;gt;(NormalizerImpl.java:44)&lt;br&gt;
        ... 56 more&lt;br&gt;
... Removed 22 stack frames&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22581671&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22581671&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.ExceptionInInitializerError-in-creating-AWSCredentials-on--Ubuntu-tp22581296p22581671.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-22581296</id>
	<title>java.lang.ExceptionInInitializerError in creating AWSCredentials on  Ubuntu</title>
	<published>2009-03-18T06:26:21Z</published>
	<updated>2009-03-18T06:26:21Z</updated>
	<author>
		<name>Kenji Imasaki</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I am trying to run simple Jets3t upload example on Utuntu
&lt;br&gt;8.1/java-6-sun-1.6.0.10 like the followings:
&lt;br&gt;&lt;br&gt;public class jetS3tTest {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Test
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void upload() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String awsAccessKey = &amp;quot;XXXX&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String awsSecretKey = &amp;quot;YYYY&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AWSCredentials awsCredentials =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new AWSCredentials(awsAccessKey, awsSecretKey); &amp;nbsp; &amp;nbsp; &amp;lt;&amp;lt; ERRROR here
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ....
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Then, I got the following error at creating of AWSCredentials. I did
&lt;br&gt;some google search but I found I have to install sunpkcs. So, I
&lt;br&gt;installed sunpkcs11.jar. But it did not fix the problem.
&lt;br&gt;&lt;br&gt;Could you let me know how to fix it?
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;FAILED: upload
&lt;br&gt;java.lang.ExceptionInInitializerError
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.text.normalizer.NormalizerBase.decompose(NormalizerBase.java:707)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.text.normalizer.NormalizerBase$NFKDMode.normalize(NormalizerBase.java:348)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1592)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.text.normalizer.NormalizerBase.normalize(NormalizerBase.java:1573)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.text.Normalizer.normalize(Normalizer.java:146)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.x509.AVA.toRFC2253CanonicalString(AVA.java:986)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.x509.RDN.toRFC2253StringInternal(RDN.java:430)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.x509.RDN.toRFC2253String(RDN.java:409)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.x509.X500Name.getRFC2253CanonicalName(X500Name.java:714)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.x509.X500Name.equals(X500Name.java:400)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.pkcs.PKCS7.getCertificate(PKCS7.java:609)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.pkcs.SignerInfo.getCertificate(SignerInfo.java:202)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.pkcs.SignerInfo.verify(SignerInfo.java:328)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.pkcs.PKCS7.verify(PKCS7.java:494)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.pkcs.PKCS7.verify(PKCS7.java:511)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:199)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.jar.JarVerifier.processEntry(JarVerifier.java:277)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.jar.JarVerifier.update(JarVerifier.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.jar.JarFile.initializeVerifier(JarFile.java:321)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.jar.JarFile.getInputStream(JarFile.java:386)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.misc.URLClassPath$JarLoader$2.getInputStream(URLClassPath.java:689)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.misc.Resource.cachedInputStream(Resource.java:59)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.misc.Resource.getByteBuffer(Resource.java:154)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader.defineClass(URLClassLoader.java:249)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.security.AccessController.doPrivileged(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
&lt;br&gt;Caused by: java.lang.RuntimeException: could not locate data
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.text.normalizer.NormalizerImpl.&amp;lt;clinit&amp;gt;(NormalizerImpl.java:44)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 56 more
&lt;br&gt;... Removed 22 stack frames
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22581296&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=22581296&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/java.lang.ExceptionInInitializerError-in-creating-AWSCredentials-on--Ubuntu-tp22581296p22581296.html" />
</entry>

</feed>
