Cipher Streams with AES in CFB8 mode

I have had some problems using AES/CFB8/PKCS5Padding with Cipher Input/Output Streams. I recall from the doc that the flush() call does not actually flush the cipher buffer. From what I can tell this makes it undesirable for connections that require an ordered response (client server).
I am making a vain attempt to force a flush of the buffer by calling cipher.doFinal() and then reinitializing it using the past 16 ciphertexts as the iv.
Am I insane?
Any help is appreciated.
-sushi

escanfail wrote:
My problem is that Cipher Streams do not produce all of the data on each call.CFB8 turns a block cipher into a stream cipher which is usually a basic requirement for network communication because there is no buffering of data pending a complete block. If you are not getting all the data sent as expected then YOU are doing something wrong. There are a load of things you could be doing wrong but to give you a start - you need to make sure you use flush() after each write and don't rely on available() on each read.
Without seeing your code it is going to be difficult for anyone to give you any further help.

Similar Messages

  • Trouble encrypting correctly with AES with a static key

    Hi. I'm trying to get JCE to work with the following example using AES in ECB mode (yes, ECB shouldn't be used, but it's what I'm supposed to use): given a clear text String represented by the bytes (in hex) 546578746F2070617261207465737465 and a key 6573736173656E686165686672616361, the program is supposed to provide the encrypted bytes A506A19333F306AC2C62CBE931963AE7. I used an online encryption service to check for myself if the above is true, and it is. However, I just can't get it to work right in Java:
    import javax.crypto.Cipher;
    import javax.crypto.spec.SecretKeySpec;
    public class AESTest {
        public static String asHex(byte buf[]) {
            StringBuffer strbuf = new StringBuffer(buf.length * 2);
         int i;
         for (i = 0; i < buf.length; i++) {
             if (((int) buf[i] & 0xff) < 0x10) {
                 strbuf.append("0");
                strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
            return strbuf.toString();
        public static void main(String[] args) throws Exception {
            String keyString = "Texto para teste";
         // 546578746F2070617261207465737465 (Hex)
         byte[] key = keyString.getBytes("UTF-8");
         System.out.println(asHex(key).toUpperCase());
         String clearText = "essasenhaehfraca";
         // ZXNzYXNlbmhhZWhmcmFjYQ== (Base64)
         // 6573736173656E686165686672616361 (Hex)
         byte[] clear = clearText.getBytes("UTF-8");
         System.out.println(asHex(clear).toUpperCase());
         SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
         // PKCS5Padding or NoPadding
         Cipher cipher = Cipher.getInstance("AES/ECB/NoPadding");
         cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
         byte[] encrypted = cipher.doFinal(clear);
         System.out.println(asHex(encrypted).toUpperCase());
    }All examples I found generate a key instead of using a static one. Well, I need to use that specific key.
    What am I doing wrong? Thank you very much!
    Message was edited by:
    Magus

    \o/
    Lame me. I wasn't even going to re-check which was the text and which was the key. I guess I should keep that in mind while dealing with cryptography.
    Thanks a lot!!! :D

  • Problem in using socket streams with encryption and decryption

    Hi,
    I am developing a client/server program with encryption and decryption at both end. While sending a message from client it should be encrypted and at the receiving end(server) it should be decrypted and vice versa.
    But while doing so i got a problem if i use both encryption and decryption at both ends. But If i use only encryption at one (only outputstream) and decryption at other end(only inputstream) there is no problem.
    Here is client/server pair of programs in which i am encrypting the outputstream of the socket in client side and decrypting the inputstream of the socket in server side.
    serverSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class serverSocketDemo
         public static void main(String args[])
              try
              {                    //server listening on port 2000
                   ServerSocket server=new ServerSocket(2000);
                   while (true)
                        Socket theConnection=server.accept();
                        System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                        System.out.println("Connection request from : "+theConnection.getInetAddress());
                        //Input starts from here
                        Reader in=new InputStreamReader(getNetInStream(theConnection.getInputStream()),"ASCII");
                        StringBuffer strbuf=new StringBuffer();
                        int c;
                        while (true)
                             c=in.read();
                             if(c=='\n' || c==-1)
                                  break;
                             strbuf.append((char)c);     
                        String str=strbuf.toString();
                        System.out.println("Message from Client : "+str);
                        in.close();               
                        theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static BufferedInputStream getNetInStream(InputStream in) throws Exception
              // register the provider that implements the algorithm
              Provider sunJce = new com.sun.crypto.provider.SunJCE( );
              Security.addProvider(sunJce);
              // create a key
              byte[] desKeyDataDec = "This encryption can not be decrypted".getBytes();
              DESKeySpec desKeySpecDec = new DESKeySpec(desKeyDataDec);
              SecretKeyFactory keyFactoryDec = SecretKeyFactory.getInstance("DES");
              SecretKey desKeyDec = keyFactoryDec.generateSecret(desKeySpecDec);
              // use Data Encryption Standard
              Cipher desDec = Cipher.getInstance("DES");
              desDec.init(Cipher.DECRYPT_MODE, desKeyDec);
              CipherInputStream cin = new CipherInputStream(in, desDec);
              BufferedInputStream bin=new BufferedInputStream(new GZIPInputStream(cin));
              return bin;
    clientSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class clientSocketDemo
         public static void main(String args[])
              try
                   Socket theConnection=new Socket("localhost",2000);
                   System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                   System.out.println("Connecting to : "+theConnection.getInetAddress());
                   //Output starts from here               
                   OutputStream out=getNetOutStream(theConnection.getOutputStream());
                   out.write("Please Welcome me\n".getBytes());
                   out.flush();
                   out.close();
                   theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static OutputStream getNetOutStream(OutputStream out) throws Exception
              // register the provider that implements the algorithm
              Provider sunJce = new com.sun.crypto.provider.SunJCE( );
              Security.addProvider(sunJce);
              // create a key
              byte[] desKeyDataEnc = "This encryption can not be decrypted".getBytes();
              DESKeySpec desKeySpecEnc = new DESKeySpec(desKeyDataEnc);
              SecretKeyFactory keyFactoryEnc = SecretKeyFactory.getInstance("DES");
              SecretKey desKeyEnc = keyFactoryEnc.generateSecret(desKeySpecEnc);
              // use Data Encryption Standard
              Cipher desEnc = Cipher.getInstance("DES");
              desEnc.init(Cipher.ENCRYPT_MODE, desKeyEnc);
              CipherOutputStream cout = new CipherOutputStream(out, desEnc);
              OutputStream outstream=new BufferedOutputStream(new GZIPOutputStream(cout));
              return outstream;
    Here is client/server pair in which i use both encrypting outpustream and decrypting inputstream at both ends.
    serverSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class serverSocketDemo
         private Cipher desEnc,desDec;
         serverSocketDemo()
              try
                   // register the provider that implements the algorithm
                   Provider sunJce = new com.sun.crypto.provider.SunJCE( );
                   Security.addProvider(sunJce);
                   // create a key
                   byte[] desKeyData = "This encryption can not be decrypted".getBytes();
                   DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
                   SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
                   SecretKey desKey = keyFactory.generateSecret(desKeySpec);
                   desEnc = Cipher.getInstance("DES");
                   desEnc.init(Cipher.ENCRYPT_MODE, desKey);
                   desDec = Cipher.getInstance("DES");
                   desDec.init(Cipher.DECRYPT_MODE, desKey);               
              catch (javax.crypto.NoSuchPaddingException e)
                   System.out.println(e);          
              catch (java.security.NoSuchAlgorithmException e)
                   System.out.println(e);          
              catch (java.security.InvalidKeyException e)
                   System.out.println(e);          
              catch(Exception e)
                   System.out.println(e);
              startProcess();
         public void startProcess()
              try
                   ServerSocket server=new ServerSocket(2000);
                   while (true)
                        final Socket theConnection=server.accept();
                        System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                        System.out.println("Connection request from : "+theConnection.getInetAddress());
                        Thread input=new Thread()
                             public void run()
                                  try
                                       //Input starts from here
                                       Reader in=new InputStreamReader(new BufferedInputStream(new CipherInputStream(theConnection.getInputStream(), desDec)),"ASCII");
                                       StringBuffer strbuf=new StringBuffer();
                                       int c;
                                       while (true)
                                            c=in.read();
                                            if(c=='\n'|| c==-1)
                                                 break;
                                            strbuf.append((char)c);     
                                       String str=strbuf.toString();
                                       System.out.println("Message from Client : "+str);
                                  catch(Exception e)
                                       System.out.println("Error caught inside input Thread : "+e);
                        input.start();
                        Thread output=new Thread()
                             public void run()
                                  try
                                       //Output starts from here
                                       OutputStream out=new BufferedOutputStream(new CipherOutputStream(theConnection.getOutputStream(), desEnc));
                                       System.out.println("it will not be printed");
                                       out.write("You are Welcome\n".getBytes());
                                       out.flush();
                                  catch(Exception e)
                                       System.out.println("Error caught inside output Thread : "+e);
                        output.start();
                        try
                             output.join();
                             input.join();
                        catch(Exception e)
                        theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static void main(String args[])
              serverSocketDemo server=new serverSocketDemo();          
    clientSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class clientSocketDemo
         private Cipher desEnc,desDec;
         clientSocketDemo()
              try
                   // register the provider that implements the algorithm
                   Provider sunJce = new com.sun.crypto.provider.SunJCE( );
                   Security.addProvider(sunJce);
                   // create a key
                   byte[] desKeyData = "This encryption can not be decrypted".getBytes();
                   DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
                   SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
                   SecretKey desKey = keyFactory.generateSecret(desKeySpec);
                   desEnc = Cipher.getInstance("DES");
                   desDec = Cipher.getInstance("DES");
                   desEnc.init(Cipher.ENCRYPT_MODE, desKey);
                   desDec.init(Cipher.DECRYPT_MODE, desKey);               
              catch (javax.crypto.NoSuchPaddingException e)
                   System.out.println(e);          
              catch (java.security.NoSuchAlgorithmException e)
                   System.out.println(e);          
              catch (java.security.InvalidKeyException e)
                   System.out.println(e);          
              catch(Exception e)
                   System.out.println(e);
              startProcess();
         public void startProcess()
              try
                   final Socket theConnection=new Socket("localhost",2000);
                   System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                   System.out.println("Connecting to : "+theConnection.getInetAddress());
                   Thread output=new Thread()
                        public void run()
                             try
                                  //Output starts from here               
                                  OutputStream out=new BufferedOutputStream(new CipherOutputStream(theConnection.getOutputStream(), desEnc));
                                  out.write("Please Welcome me\n".getBytes());
                                  out.flush();
                             catch(Exception e)
                                  System.out.println("Error caught inside output thread : "+e);
                   output.start();     
                   Thread input=new Thread()
                        public void run()
                             try
                                  //Input starts from here
                                  Reader in=new InputStreamReader(new BufferedInputStream(new CipherInputStream(theConnection.getInputStream(), desDec)),"ASCII");          
                                  System.out.println("it will not be printed");
                                  StringBuffer strbuf=new StringBuffer();
                                  int c;
                                  while (true)
                                       c=in.read();
                                       if(c=='\n' || c==-1)
                                            break;
                                       strbuf.append((char)c);     
                                  String str=strbuf.toString();
                                  System.out.println("Message from Server : "+str);
                             catch(Exception e)
                                  System.out.println("Error caught inside input Thread : "+e);
                   input.start();
                   try
                        output.join();
                        input.join();
                   catch(Exception e)
                   theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static void main(String args[])
              clientSocketDemo client=new clientSocketDemo();     
    **** I know that the CInput tries to read some header stuff thats why i used two threads for input and output.
    Waiting for the reply.
    Thank you.

    Do not ever post your code unless requested to. It is very annoying.
    Try testing what key is being used. Just to test this out, build a copy of your program and loop the input and outputs together. Have them print the data stream onto the screen or a text file. Compare the 1st Output and the 2nd Output and the 1st Input with the 2nd Input and then do a static test of the chipher with sample data (same data which was outputted), then do another cipher test with the ciphertext created by the first test.
    Everything should match - if it does not then follow the steps below.
    Case 1: IO Loops do not match
    Case 2: IO Loops match, but ciphertext 1st run does not match loop
    Case 3: IO Loops match, 1st ciphertext 1st run matches, but 2nd run does not
    Case 4: IO Loops match, both chiphertext runs do not match anything
    Case 5: Ciphertext runs do not match eachother when decrypted correctly (outside of the test program)
    Problems associated with the cases above:
    Case 1: Private Key is changing on either side (likely the sender - output channel)
    Case 2: Public Key is changing on either side (likely the sender - output channel)
    Case 3: Private Key changed on receiver - input channel
    Case 4: PKI failure, causing private key and public key mismatch only after a good combination was used
    Case 5: Same as Case 4

  • Streaming audio from my IPAD to my Apple TV from Rhapsody application.  when Apple TV go into Screen Saver mode, about 5 minutes after that it stops playing the Audio Stream and goes into Sleep mode.

    I am Streaming audio from my IPAD to my Apple TV from Rhapsody application.  when Apple TV go into Screen Saver mode, about 5 minutes after that it stops playing the Audio Stream and goes into Sleep mode.  I am using the Optical Out from the Apple TV to my receiver, the Apple TV is hard Wired to the Network, the IPAD is Wirelessly attached to the network (it continues to play the Audio Stream).  When the Apple TV is turned back on it resumes playing once I manual select it for output from the IPAD.  All device are on current releases of software.  I have no Video hooked up to the Apple TV.  How do I correct this?

    Intermittent problems are often a result of interference. Interference can be caused by other networks in the neighbourhood or from household electrical items.
    You can download and install iStumbler (NetStumbler for windows users) to help you see which channels are used by neighbouring networks so that you can avoid them, but iStumbler will not see household items.
    Refer to your router manual for instructions on changing your wifi channel or adjusting your multicast rate.
    There are other types of problems that can affect networks, but this is by far the most common, hence worth mentioning first. Networks that have inherent issues can be seen to work differently with different versions of the same software. You might also try moving the Apple TV away from other electrical equipment.

  • RFSG 5673 streaming with script

    Hi All,
    I'm trying to build ARB baseband data on my PC, a rack mount controller in this case, then transmit as quickly as possible with the 5673 (VSG) for real time transmission in a TDD.  The best solution I've found is the following, but it doesn't seem to work properly. ... and I'm not sure why.  Shouldn't it work? 
    I don't really understand the interaction between the script and streaming waveform. 
    Put generation mode into script;
    Set the data transfer property to streaming;
    Allocate and initialize VSG memory for the corresponding number of samples in my waveform;
    Program a script like the following:  ( I put comments after the '//' )
    script myScript1
       Generate wf0  // play waveform once to open up stream buffer
       Repeat forever
         Clear scriptTrigger0
         Wait until scriptTrigger0   // (*) download next waveform, then use scriptTrigger0 to transmit
         Generate wf0
       end repeat
    end script
    FYI: Sample rate is in the 10's of MHz.  (I've been using 80 MHz)
    After initiating I can't do anything.  I can't even query the device to check 'SpaceAvailableInStreamingWaveform'.  Any subsequenct command gives the following error:
    The data being written to the streaming waveform cannot keep up with the output.<LF/>Decrease the sample rate or write data to the streaming waveform more frequently.
    Waveform Name: wf0
    Status Code: -219106
    So then I have to reset / reconnect.  This seems faulty in that my streaming data is keeping up with the output since the VSG should be waiting.
    Interestingly enough I can do the following and things actually work. It seems that an error is only produced when the VSG buffer is "mostly" empty.  So if I pad enough zeros on my waveform, then play 3/4 of the entire buffer per trigger, things seem to work well.  It's just a pain in the butt and I'm intruducing more latency then I'd like.  The following script works:
    script myScript1
      Generate wf0 subset (0, 750000)  // empty 3/4 of buffer
            Repeat forever
                Clear scriptTrigger0           
                Wait until scriptTrigger0         // download new data prior to trigger and play a 3/4 cyclic piece of the buffer
                  Generate wf0 subset (750000, 250000)     
                  Generate wf0 subset (0, 500000)
                Clear scriptTrigger0
                Wait until scriptTrigger0
                  Generate wf0 subset (500000, 500000)
                  Generate wf0 subset (0, 250000)
                Clear scriptTrigger0
                Wait until scriptTrigger0
                  Generate wf0 subset (250000, 750000)
                Clear scriptTrigger0
                Wait until scriptTrigger0
                  Generate wf0 subset (0, 750000)
            end repeat
    end script
    There has to be a better way to do this... 
    Any thoughts are apreciated. 
    Thanks in advance.
    Clayton_A

    So...  after more thought about my application, I'm really not so concerned with small latency involved with additional buffer space. 
    I'm going to define a buffer that's twice the length of my waveform and simply ping-pong between to subsets.  Like this:
    script myScript1
       Repeat forever
         Clear scriptTrigger0
         Wait until scriptTrigger0  
         Generate wf0 subset (0, waveform_length)
         Clear scriptTrigger0
         Wait until scriptTrigger0  
         Generate wf0 subset (waveform_length, waveform_length)
       end repeat
    end script
    Then I'll just write to one subset while transmitting from the other.
    I'm still interested in hearing any thoughts on the matter.
    I'm also interested in why errors are produced when the VSG hasn't read all data in the stream buffer.  Or 'at what point' are errors produced.  Is there a non-zero difference between read and write pointers that is too close?
    For example, the following gives an error prior to the first trigger:
    script myScript1
       Generate wf0 subset (0, (waveform_length - 100) )  
       Repeat forever
         Clear scriptTrigger0
         Wait until scriptTrigger0   // Any device query or command gives an error while waiting for this trigger.
         Generate wf0 subset ((waveform_length - 100), 100)
         Generate wf0 subset (0, (waveform_length - 100))
       end repeat
    end script

  • Streams with DataGuard design advice

    I have two 10gR2 RAC installs with DataGuard physical copy mode. We will call the main system A and the standby system B. I have a third 10gR2 RAC install with two-way Streams Replication to system A. We will call this RAC system C.
    When I have a failure scenario with system A, planned or unplanned, I need for system C's Streams Replication to start replicating with system B. When the system A is available again I need for system C to start replicating with system A again.
    I am sure this is possible, and I am not the only one that wants to do something like this, but how? What are the pitfals?
    Any advice on personal experience with this would be greatly appreciated!

    Nice concept and I can only applaud to its ambitions.
    +"I am sure this is possible, and I am not the only one that wants to do something like this".+
    I would like to share your confidence, but i am afraid there are so many pitfalls than success will depends on how much pain you and you hierarchy can cope with.
    Some thoughts:
    Unless your dataguard is Synchronous, at the very moment where A fails, there will be missing TXN in C,
    which may have been applied in B as Streams is quite fast. This alone tells us that a forced switch cannot
    be guarantee consistent : You will have errors and some nasty one such as sequence numbers consumed
    on A (or B) just before the crash, already replicated to B (or A)but never shipped to C. Upon awake C will
    re-emit values already known on B (dup key on index?)
    I hope you don't sell airplane ticket for in such a case you can sell some seats twice.
    Does C have to appear as another A or is it allowed to have a different DB_NAME? (How will you set C in B?
    is C another A which retakes A name or is C a distinct source).if C must have the same DB_NAME, the global
    name must be the same. Your TNS construction will be have to cope with 2 identical TNS entry in your network
    referring to 2 different hosts and DB. Possible with cascade lines at (ADDRESSES= ... , but to be tested.
    If C is another A then C must have the same DB_name as LCR do have their origin DB name into them.
    If C has a distinct name from A it must have its on apply process, not a problem it will be idle while A is alive,
    but also a capture that capture nothing while A is alive, for it is Capture site who is supposed to send the ticks
    to advance counters on B. Since C will be down in normal time, you will have to emulate this feature periodically
    reseting the first_scn manually for this standby capture - you can jump archives providing you jump to another
    archive with built in data dictionary - or accept to create a capture on B only when C wakes up. The best would
    be to consider C as a copy of B (multi-master DML+DDL?) and re-instantiate tables without transferring any data
    the apply and capture on C and B to whatever SCN is found to be max on both sites when C wakes up.
    All this is possible, with lot of fun and hard work.
    As of the return of the Jedi, I mean A after its recovered from its crash you did not tell us if the re-sync C-->A
    is hot or cold. Cold is trivial but If it is hot, it can be done configuring a downstream capture from C to A with
    the init SCN set to around the crash and re-load all archives produced on C. But then C and A must have a different
    DB_name or maybe setting a different TAG will be enough, to be tested. Also there will be the critical switch
    the multi-master replication C<-->B to A<-->B. This alone is a master piece of re-sync tables.
    In all cases, I wish you a happy and great project and eager to hear about it.
    Last, there was a PDF describing how to deal with dataguard switch with a DB using streams, but it is of little help,
    for it assumes that the switch is gentle : no SCN missing. did not found it but maybe somebody can point a link to it.
    Regards,
    Bernard Polarski

  • Strange behaviour of iPad Photos app/My Photo Stream with iOS 8.1 and Yosemite

    My requirement is surely simple and commonplace, yet is proving impossible to achieve thanks to Apple's weird design of the Photos app and the way My Photo Stream works.  I'm very technically savvy, but I'm quite prepared to admit I'm being stupid if someone can explain what I'm doing wrong!  I have an iPad Air running iOS 8.1 and a MacBook Pro Retina with OS X 10.10 (Yosemite).  I've enabled iCloud Drive on both.  iPhoto on the Mac is at v9.6.
    I have a selection of 109 photos from a recent holiday in a folder on my MacBook, which I would like in a folder on my iPad as a nice way to show them to friends.   iTunes may work but seems so incredibly clunky and old-fashioned I hoped I could do it over the network or via the cloud.  I would use (and often have used) Dropbox, which is reliable and logical but rather tedious as you have to save each photo one by one. 
    So, with a little research and playing around, I found that I could get them to the iPad using iPhoto on the Mac, with My Photo Stream enabled.  However, it doesn't seem to work.  The photos were all created yesterday so had yesterday's date (I'd removed EXIF data that contained various earlier dates).
    I've just done the following test:
    I deleted all photos from the iPad (using the Photos app)
    On the Mac, I deleted all photos from iPhoto
    In iPhoto Preferences on the Mac, I turned on “My photo stream”, with the two sub-options also enabled
    I imported the 109 photos into iPhoto
    On the iPad, in My Photo Stream, I saw the photos gradually appear over the next few minutes
    A  minute or two later, when no more seemed to coming, I found that 103 of the original 109 were in My Photo Stream.  So, strangely, 6 photos were missing
    Even stranger, in the “Photos” tab, under “Yesterday” 37 of them could be seen.  If I understand this correctly (which I may not), that means 37 of them had been copied from the My Photo Stream to the iPad itself.  Am I right?  Why only 37?
    On the iPad, I added a new Album called Summer 2014
    I selected all 103 photos from My Photo Stream to add to the album
    In the Summer 2014 album, I briefly see “103 Photos” at the bottom of the album, but this quickly changes to 66 as photos that briefly appeared now disappear, leaving only 66 left in the album
    Checking in Photos/Collections/Yesterday, I find there are now 66 photos (rather than 37 as there were earlier) - the same ones that are showing in my Summer 2014 album.
    If I attempt to manually add any of the missing photos to the album, nothing happens - the album refuses to allow any more than the 66 it has.
    In iPhoto on the Mac, if I click on the SHARED/iCloud entry on the left, I see all 109 photos, which I think means iPhoto has correctly shared them all, so I suspect the problem is with the iPad.
    Yesterday, when I was playing with this, the album allowed 68 photos.  I tried deleting one and adding one of the missing photos, but it wouldn't allow this either, so I don't think it's objecting to the number of photos so much as disliking particular ones.
    I've got 7.7GB free space on the iPad so I don't think it's a space issue.
    Can anyone help?  If it's a bug in iOS, iCloud or OS X, how can I report it, given that I'm out of my 3 months support for both my machines?
    Thank you!

    Well done lumacj! This is a good workaround. Forgive me if I offer a simplified version here (this works if original photos are in Photo stream):
    1. In "My photo stream", tap on select at top of screen
    2. Tap on each photo you want to send via WhatsApp (circle with "√" shows for each photo)
    3. Tap on square box with arrow at bottom of screen (Share) - NOT "Add To"
    4. Tap on "Save image(s)"
    5. Check that selected photos now appear on "Camera Roll"
    6. From WhatsApp, send photos as you would have normally

  • How can I do live streaming with a Mac Book Pro 2011, using a new model of Sony HD camcorder which does not have firewire out/input? it comes only with a component video output, USB, HDMI and composite RCA output?

    I need to do live streaming with a Mac Book Pro 2011, using a new model of Sony HD camcorder (http://store.sony.co...ber=HDRAX2000/H) ..this camcorder model does not have firewire out/input ..it comes only with a component video output, USB, HDMI and composite A/V video output..
    I wonder how can I plug this camcorder to the firewire port of my laptop? Browsing on internet I found that Grass Valley Company produces this converter http://www.amazon.co...=A17MC6HOH9AVE6 ..but I am not sure -not even after checking the amazon reviews- if this device will send the video signal through firewire to my laptop, in order to live streaming properly? ..anyone in this forum could help me please?
    Thanx

    I can't broadcast with the built in iSight webcam... how would I zoom in or zoom out? or how would I pan? I've seem people doing it walking with their laptops but that's not an option for me... there's nothing wrong with my USB ports but that's neither an option to stream video because as far as I know through USB you can't connect video in apple operating systems ..you can for sure plug any video cam or photo camera through usb but as a drive to transfer data not as a live video camera...  is by firewire an old interface developed by apple that you can connect all sorts of cameras to apple computers... unfortunately my new sony HDR-AX2000 camcorder doesn't have firewire output...
    thanx

  • Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q with a real time mode but it is not working but when i run it with uploading it into the PXI it save in to the file

    Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q and DAQ NI PXI-6229 with a real time mode but it is not working but when i run it without uploading it into the PXI it save in to the file please find attached my vi
    Attachments:
    PWMs.vi ‏130 KB

     other problem is that the channel DAQmx only works at real time mode not on stand alone vi using Labview 8.2 and Real time 8.2

  • Hey, my ipad is disabled and i cant open. i tried connecting it with itunes in recovery mode to restore it but it wont work it doesnt show and options itunes doesnt detect my ipad in recovery mode. what do i do know? please help!!!

    Hey, my ipad is disabled and i cant open. i tried connecting it with itunes in recovery mode to restore it but it wont work it doesnt show and options itunes doesnt detect my ipad in recovery mode. what do i do know? please help!!!

    If you followed these instructions and you were unable to enter recovery mode, I'm still leaning toward a hardware problem.  Also, since you have IOS-7, read this.  It might help.

  • I have two different iCloud accounts. I can't sign into photo stream with my personal account and have tried deleting from my iPhone first, then the MacBook Pro. Still won't let me sign in with the personal account. Please help.

    I have two different iCloud accounts - business and personal. I can't sign into Photo Stream with my personal account because it says my business account is my primary account. They are separate but equal accounts. I have tried deleting the iCloud account from my iPhone, then my MacBook Pro and signing in again on both devices. The iPhone says that my primary account ismy personal account (which is good) but my MacBook Pro still will not sign into that account so I can use Photo Stream.
    Any suggestions? This iCloud stuff is getting annoying.

    you have a ps cs4 license for mac and you have some way of finding your serial number.
    if yes, download an install the installation file.  if you already have the installation file, what is its name and file extension?  (eg, if it's one file, it should be a dmg file.)
    if you need the installation file,
    Downloads available:
    Suites and Programs:  CC 2014 | CC | CS6 | CS5.5 | CS5 | CS4 | CS3
    Acrobat:  XI, X | 9,8 | 9 standard
    Premiere Elements:  13 | 12 | 11, 10 | 9, 8, 7 win | 8 mac | 7 mac
    Photoshop Elements:  13 |12 | 11, 10 | 9,8,7 win | 8 mac | 7 mac
    Lightroom:  5.6| 5 | 4 | 3
    Captivate:  8 | 7 | 6 | 5
    Contribute:  CS5 | CS4, CS3
    Download and installation help for Adobe links
    Download and installation help for Prodesigntools links are listed on most linked pages.  They are critical; especially steps 1, 2 and 3.  If you click a link that does not have those steps listed, open a second window using the Lightroom 3 link to see those 'Important Instructions'.

  • I share a photo stream with a family member. Is there a way to make it so we have separate photo stream but still use the same apple id?

    i share a photo stream with a family member. Is there a way to make it so we have separate photo stream but still use the same apple id?

    You'll want a separate iCloud account for each user in addition to the main Apple ID used for purchases.
    Let's say you have a family of four (husband, wife, and two children). Here is what you will need:
    Main Apple ID for shared purchases in Tunes (everybody will be using this)
    iCloud (Apple ID) account for husband
    iCloud (Apple ID) account for wife
    iCloud (Apple ID) account for child 1
    iCloud (Apple ID) account for child 2
    Yes, you can have both an Apple ID and iCloud account setup on the same device. On each iOS device, setup the main Apple ID account for the following services:
    iCloud (Photo Stream and Backup are the only items selected here).
    Music Home Sharing
    Video Home Sharing
    Photo Stream
    Additionally, on each iOS device, add a new iCloud account (Under Mail, Contacts, Calendar) that is unique to each user for the following services:
    Mail (if using @me.com)
    Contacts
    Calendars
    Reminders
    Bookmarks
    Notes
    Find My iPhone
    Messages
    Find Friends
    FaceTime
    On your individual Macs (or Mac accounts), use the main Apple ID in iTunes. Then, use the unique iCloud account in/for iCloud.
    Now that everbody is using separate iCloud accounts for your contacts, calendars, and other things, it will be all be kept separate.
    The only thing that is now 'shared' would be iTunes content (apps and other purchases), backups via iCloud (if enabled), and Photo Stream (if enabled).

  • How can I do live streaming with a Mac Book Pro 2011, using a new model of Sony HD camcorder ..that doesn't have firewire out/input?

    I need to do live streaming with a Mac Book Pro 2011, using a new model of Sony HD camcorder (http://store.sony.co...ber=HDRAX2000/H) ..this camcorder model does not have firewire out/input ..it comes only with a component video output, USB, HDMI and composite A/V video output..
    I wonder how can I plug this camcorder to the firewire port of my laptop? Browsing on internet I found that Grass Valley Company produces this converter http://www.amazon.co...=A17MC6HOH9AVE6 ..but I am not sure -not even after checking the amazon reviews- if this device will send the video signal through firewire to my laptop, in order to live streaming properly? ..anyone in this forum could help me please?
    Thanx

    I can't broadcast with the built in iSight webcam... how would I zoom in or zoom out? or how would I pan? I've seem people doing it walking with their laptops but that's not an option for me... there's nothing wrong with my USB ports but that's neither an option to stream video because as far as I know through USB you can't connect video in apple operating systems ..you can for sure plug any video cam or photo camera through usb but as a drive to transfer data not as a live video camera...  is by firewire an old interface developed by apple that you can connect all sorts of cameras to apple computers... unfortunately my new sony HDR-AX2000 camcorder doesn't have firewire output...
    thanx

  • HT204053 i have 2 apple ids and one is from years ago when icloud wasnt a thought but now somehow it became my primary apple id and i cant photo stream with the apple id i use. Even if im signed into my old one the photo stream doesnt automatically go to

    i have 2 apple ids and one is from years ago when icloud wasnt a thought but now somehow it became my primary apple id and i cant photo stream with the apple id i use. Even if im signed into my old one the photo stream doesnt automatically go to my mac. Im not exactly technology savy but id love to figure this out.

    I have also noticed the same "problem".  I do not fully understand the impact of using the same ID on multiple computers and devices if I want to keep them all in sync.

  • Is there a way to make itunes autostart with windows in mini mode

    Is there a way to make itunes autostart with windows in mini mode i.e the taskbar player mode where it is most less obstrusive . itune takes a lot of time to start under windows

    Just delete the same songs from your library in iTunes.  Select the first song, hold the shift key, select the last song (which will select everything in between) and press delete.

Maybe you are looking for

  • Forecast consumption situation not shown in Forecast tab-RRP3 View

    Hi, I have released Forecast(FA) from DP to SNP.I am able to see the forecasts in Product view Elements tab.But I am not able to see any Forecast consumption details and overview in Forecast tab of Product view.It is showing if i create forecast manu

  • Hook up macbook pro to a TV

    I want to play what I stream from Netflix from a macbook pro to my TV, my TV is seven years old.  Thanks.

  • Setting up development environment with several projects

    We struggle with Workshop when having a large workshop application. One way of getting out of this issue was to use several deployments and to use WSRP as a mechanism to get resources from several deployed portlet applications. Performance isn't an i

  • Placed bitmaps in Illustrator from Photoshop have different colour breakdown?

    When I place a bitmap in illustrator from Photoshop the colour breakdown changes. In photoshop, it could be set up using a 100% Solid black using CMY 0% and K100% but when I place this in illustrator the breakdown changes to say C:78.89%, M:80.45%, Y

  • SIMPLE PID ERROR - Resource is being used

    Hey guys, I'm a beginner in using LabView, and currrently I've written a huge program, which is infact pretty simple, that takes an analogue input from the hall sensors of a BLDC motor I am running, and uses a PID block to output (via analogue output