[FAB-1558] - Revocation support in MSP
[FAB-1558] - Revocation support in MSP

This change-set verifies the signature over the CRL upon every certificate
validation. The way the code previously handled validation was not secure
for the following unlikely (but not impossible) reason: a malicious CA sets
its SKI to match that of another CA under the same MSP. Under this scenario
(and with the previous code), the malicious CA may revoke another CA's
certificates.  This is true because the code previously established the
link between CA and CRL at setup time (by verifying the CA's certificate)
and between CA and CRL at validation time (but, crucially, only by matching
SKI and AKI).

A possible optimization would be to pre-verify signatures of CAs over CRLs
and to keep a mapping of verified pairs. However, it's important that the
lookup key of this mapping is not SKI (as it was before).

Change-Id: I25a5a92b319c6565a092d5de7fc96a0548d1a37d
Signed-off-by: Alessandro Sorniotti <f32b00f17cd31d4086a37e20e6815a9429f62787@sopit.net>

phariel/fabric,Ryan--Yang/fabric,rameshthoomu/fabric,bmos299/fabric,magg/fabric,ckeyer/fabric,mqshen/fabric,ibmmark/fabric,tkuhrt/fabric,kchristidis/fabric,bmos299/fabric,thakkarparth007/fabric,jimthematrix/fabric,chrisguoado/fabric,bmos299/fabric,thakkarparth007/fabric,blockc/fabric,cophey/fabric,king3000/fabric,bmos299/fabric,muralisrini/fabric,tkuhrt/fabric,kchristidis/fabric,manish-sethi/fabric-sidedb,blockc/fabric,blockc/fabric,chrisguoado/fabric,ckeyer/fabric,mqshen/fabric,Ryan--Yang/fabric,Ryan--Yang/fabric,thakkarparth007/fabric,phariel/fabric,hyperledger/fabric,blockc/fabric,magg/fabric,king3000/fabric,ibmmark/fabric,tkuhrt/fabric,cophey/fabric,binhn/fabric,rameshthoomu/fabric,bmos299/fabric,thakkarparth007/fabric,mqshen/fabric,lukehuangch/fabric,mqshen/fabric,mffrench/fabric,bmos299/fabric,chrisguoado/fabric,manish-sethi/fabric,stemlending/fabric,lukehuangch/fabric,ckeyer/fabric,lukehuangch/fabric,rameshthoomu/fabric,binhn/fabric,chrisguoado/fabric,king3000/fabric,cophey/fabric,chrisguoado/fabric,mffrench/fabric,blockc/fabric,Ryan--Yang/fabric,Ryan--Yang/fabric,tkuhrt/fabric,stemlending/fabric,manish-sethi/fabric,manish-sethi/fabric-sidedb,mffrench/fabric,muralisrini/fabric,lukehuangch/fabric,magg/fabric,kchristidis/fabric,magg/fabric,ibmmark/fabric,mffrench/fabric,ckeyer/fabric,magg/fabric,blockc/fabric,Ryan--Yang/fabric,mqshen/fabric,xixuejia/fabric,cophey/fabric,rameshthoomu/fabric,king3000/fabric,rameshthoomu/fabric,phariel/fabric,ibmmark/fabric,bmos299/fabric,blockc/fabric,jimthematrix/fabric,phariel/fabric,manish-sethi/fabric-sidedb,cophey/fabric,rameshthoomu/fabric,Ryan--Yang/fabric,ckeyer/fabric,thakkarparth007/fabric,king3000/fabric,lukehuangch/fabric,mffrench/fabric,king3000/fabric,thakkarparth007/fabric,rameshthoomu/fabric,ckeyer/fabric,chrisguoado/fabric,stemlending/fabric,phariel/fabric,lukehuangch/fabric,mffrench/fabric,tkuhrt/fabric,ibmmark/fabric,xixuejia/fabric,mqshen/fabric,manish-sethi/fabric-sidedb,ckeyer/fabric,manish-sethi/fabric-sidedb,hyperledger/fabric,mffrench/fabric,kchristidis/fabric,muralisrini/fabric,magg/fabric,chrisguoado/fabric,tkuhrt/fabric,cophey/fabric,thakkarparth007/fabric,kchristidis/fabric,lukehuangch/fabric,cophey/fabric,tkuhrt/fabric,phariel/fabric,mqshen/fabric,ibmmark/fabric,phariel/fabric,xixuejia/fabric,manish-sethi/fabric-sidedb,king3000/fabric,manish-sethi/fabric-sidedb,binhn/fabric,kchristidis/fabric,kchristidis/fabric,magg/fabric,ibmmark/fabric,stemlending/fabric