[proofplan]
We prove both directions by unpacking exactness in an abelian category. In the forward direction, exactness at $B$ identifies the image of $i$ with the kernel of $p$; exactness at $A$ makes $i$ monic, so $i$ itself has the universal property of that kernel. Dually, exactness at $C$ and exactness at $B$ imply that $p$ has the universal property of the cokernel of $i$. The converse follows immediately from the universal properties of kernels and cokernels, which give exactness at $A$, $B$, and $C$.
[/proofplan]
[step:Show that exactness makes $i$ a kernel of $p$]
Assume that
\begin{align*}
0 \longrightarrow A \xrightarrow{i} B \xrightarrow{p} C \longrightarrow 0
\end{align*}
is short exact. Exactness at $A$ says that $\ker i = 0$, hence $i$ is a monomorphism. Exactness at $B$ says that the image subobject of $i$ is the kernel subobject of $p$.
Let $k:K \to B$ be a kernel of $p$. Since $p i = 0$, the universal property of $k$ gives a unique morphism $u:A \to K$ such that
\begin{align*}
k u = i.
\end{align*}
We now justify that $u$ is an epimorphism. Let $m:I \to B$ be an image of $i$, and let $e:A \to I$ be the epimorphism in the image factorization of $i$, so that
\begin{align*}
m e = i.
\end{align*}
Exactness at $B$ says that the subobjects $m:I \to B$ and $k:K \to B$ represent the same subobject of $B$. Hence there is an isomorphism $\alpha:I \to K$ such that
\begin{align*}
k\alpha = m.
\end{align*}
Since $k u=i=m e=k\alpha e$ and $k$ is monic, we have $u=\alpha e$. The morphism $e$ is epic by construction of the image factorization, and $\alpha$ is an isomorphism, hence $u=\alpha e$ is epic.
Since $i=k u$ is monic, $u$ is also monic: if $u a = u b$ for morphisms $a,b:X \to A$, then
\begin{align*}
i a = k u a = k u b = i b,
\end{align*}
so $a=b$. Because $\mathcal A$ is abelian, it is balanced: every morphism that is both monic and epic is an isomorphism. Therefore $u$ is an isomorphism.
Now let $X$ be an object of $\mathcal A$, and let $f:X \to B$ be a morphism satisfying
\begin{align*}
p f = 0.
\end{align*}
Since $k$ is a kernel of $p$, there is a unique morphism $v:X \to K$ such that $k v=f$. Define
\begin{align*}
w := u^{-1}v:X \to A.
\end{align*}
Then
\begin{align*}
i w = k u u^{-1} v = k v = f.
\end{align*}
If $w':X \to A$ also satisfies $i w'=f$, then $k u w'=f=k v$, and uniqueness of the factorization through $k$ gives $u w'=v$, hence $w'=u^{-1}v=w$. Thus $i$ has the universal property of a kernel of $p$.
[/step]
[step:Show that exactness makes $p$ a cokernel of $i$]
Again assume the sequence is short exact. Exactness at $C$ says that $\operatorname{coker} p=0$, hence $p$ is an epimorphism. Exactness at $B$ gives $\operatorname{im} i=\ker p$, so in particular $p i=0$.
By the previous step, applied to this same short exact sequence, the morphism $i$ is a kernel of $p$. Since $p$ is epic and $i$ is a kernel of $p$, the standard abelian-category fact that every epimorphism is a cokernel of its kernel applies. Therefore $p$ is a cokernel of $i$.
Equivalently, the universal property is the following. Let $Y$ be an object of $\mathcal A$, and let $g:B \to Y$ be a morphism satisfying
\begin{align*}
g i = 0.
\end{align*}
Because $i$ is a kernel of the epimorphism $p$, the cokernel-of-the-kernel property gives a unique morphism $h:C \to Y$ such that
\begin{align*}
h p = g.
\end{align*}
This is exactly the universal property of a cokernel of $i$.
[/step]
[step:Derive exactness from the two universal properties]
Conversely, assume that $i$ is a kernel of $p$ and that $p$ is a cokernel of $i$.
Since every kernel is a monomorphism, $i$ is monic. Therefore the map $0 \to A \xrightarrow{i} B$ is exact at $A$. Since $i$ is a kernel of $p$, we have
\begin{align*}
p i = 0,
\end{align*}
and the image subobject of $i$ is exactly the kernel subobject of $p$. Hence the sequence is exact at $B$.
Since every cokernel is an epimorphism, $p$ is epic. Therefore the map $B \xrightarrow{p} C \to 0$ is exact at $C$. Combining exactness at $A$, $B$, and $C$, the sequence
\begin{align*}
0 \longrightarrow A \xrightarrow{i} B \xrightarrow{p} C \longrightarrow 0
\end{align*}
is short exact.
[/step]