"Cannot Execute Boolean Operation" on a subdivided mesh
After some tries I've found a way to do it:


Select your curve, go in Edit mode, select all and W > Remove Doubles. You must have duplicated some vertices somehow, that's what causes your problem. Now you could apply your Boolean but still, you won't get a good result, so wait a bit.
To simplify your topology you can also do a X > Limited Dissolve.
Now, select your shield and apply the Subsurf and the Solidify modifier.
Then apply the Boolean modifier, it will give a correct result.