Indeed I'm no security expert, and I've never claimed to be. That's why I posted it here: to get some feedback from people who know what they're talking about.
As for certificate extensions being too much to grasp, it's more a case of not knowing about them. Although it might be hard to belive, some people haven't spent much time working with certificates!
Next, what would be the point of using this instead of TLS? I've tried to do a few things that TLS doesn't, as far as I know, do:
* Support for caches/proxies such as Squid
Caches could help with lowering network traffic, although it's probably just big corporations that use proxies that would actually benefit from this.
* No need for one certificate per server IP
Since I don't run a server park full of https servers I don't know how much of a problem this would be in real life, but I imagine that maintaining and updating certificates for lots of machines can be a lot of work.
* Third party servers can serve verified content
Suppose you'd like to use Amazon CloudFront to serve your static content. They don't support TLS, but with Content-Signature you could use them anyway.
* Less load on the server
Assuming that the signature isn't re-calculated on the fly for each request, but instead stored and re-used, the extra work for the server to support this is close to zero with static content.
For dynamic content it's not as nice, but could be used if you have a cacheing proxy in front of whatever is generating the content.
On the client side you'd have to check a PGP signature (or some other scheme, if that'd be better for some reason) for each file. I haven't done any performance tests on this, I just assumed that in the grand scheme of things this wouldn't be a big problem.
So.. Maybe it's not a good idea, but some of these properties would be useful and aren't provided by TLS.