Scientists have created a genetically engineered blood protein that can split water into hydrogen and oxygen atoms:
Professors Tsuchida and Komatsu from Waseda University, Japan, in collaboration with Imperial College London, synthesised a large molecular complex from albumin, a protein molecule that is found at high levels in blood serum, and porphyrin, a molecule which is used to carry oxygen around the body and gives blood its deep red colour. Porphyrin molecules are normally found combined with metals, and in their natural state in the blood they have an iron atom at their centre. The scientists modified the porphyrin molecule to swap the iron for a zinc atom in the middle, which completely changed the chemistry and characteristics of the molecule.
This modified porphyrin molecule was then combined with albumin; with the albumin molecule itself being modified by genetic engineering to enhance the efficiency of the process. The resulting molecular complex was proven to be sensitive to light, and can capture light energy in a way that allows water molecules to be split into molecules of hydrogen and oxygen.
The first is to figure out how to attach the protein to some sort of substrate so that it can be used in a solar array (I doubt this will be difficult).
The other is a little harder: separating the dissolved hydrogen and oxygen from the water.