Here's a simple argument using Hilbert's theorem 90. No doubt it's the same as Will's (deleted) argument couched in quadratic form language, and I suppose it's the same as the Frohlich -Taylor argument as well.

First one shows that the 2-torsion in the class group has order 2 and is generated by the prime P of norm 2. For suppose I lies in an order 2 ideal class C. Then the fractional ideal
I/I(bar) is principal on some alpha, and the norm of alpha can only be 1. Using Hilbert's theorem 90, one finds an ideal J in the class of C with J=J(bar). Since only 2 and p ramify,
and the prime over p is principal, we can assume J is P or (1). Since aa+pbb isn't 2, the result follows.

It remains to show that P isn't equivalent to the square of any ideal. Suppose on the contrary that we have (beta)=P*(Q^2). Taking norms we get aa+pbb=2(non-zero square), We may assume a and b are in Z and are odd. Then the left-hand side is 6 mod 8, a contradiction.

EDIT: Here's an idea for handling your follow-up question in a reasonably elementary way, giving an explicit generator of your ideal lying over p, without heavy class-field-theory artillery. Let K be Q(root(-p)).

Lemma 1__There is no unramified degree 2 extension of K other than K(i).

For let K(root(alpha) be such an extension. Then (alpha) is the square of an ideal. So from what we know, this ideal is principal or P*(principal), and alpha is in the group generated by -1,2 and the squares. The rest is easy.

Lemma 2__There is no degree 4 cyclic unramified extension of K.

For Let D(L) and D(K) be the groups of fractional ideals of L and K. The first inequality of
class field theory (whose proof, using the Herbrand quotient is elementary; no ideles required) tells us that the quotient of D(K) by the subgroup generated by the principal
fractional ideals and the norms of elements of D(L) has order at least 4. It follows that C/C^4 has order at least 4, where C is the ideal class group of K. But we know that C^4=C^2,and that C/C^2 has order 2.

Corollary__There is no unramified degree 2 extension L of K(i).

For in this case, L/K would be of degree 4 and solvable, and the smallest Galois extension of K containing L would contain a degree 4 unramified abelian extension of K, contradicting Lemmas 1 and 2.

Now write p as a^2+b^2 with b even, and let r be the fundamental unit in Z[(1+root(p))/2].
Then it should be possible to show that the extension of K(i) obtained by adjoining a square root of r(a+bi) is unramified. So by the corollary r(a+bi) has a square root in K(i), and this square root is what you're looking for.