validate signature signed by someone else
| 946 | |
| 947 | // validate signature signed by someone else |
| 948 | bool CertDecoder::ValidateSignature(SignerList* signers) |
| 949 | { |
| 950 | if (!signers) |
| 951 | return false; |
| 952 | |
| 953 | SignerList::iterator first = signers->begin(); |
| 954 | SignerList::iterator last = signers->end(); |
| 955 | |
| 956 | while (first != last) { |
| 957 | if ( memcmp(issuerHash_, (*first)->GetHash(), SHA::DIGEST_SIZE) == 0) { |
| 958 | |
| 959 | const PublicKey& iKey = (*first)->GetPublicKey(); |
| 960 | Source pub(iKey.GetKey(), iKey.size()); |
| 961 | return ConfirmSignature(pub); |
| 962 | } |
| 963 | ++first; |
| 964 | } |
| 965 | return false; |
| 966 | } |
| 967 | |
| 968 | |
| 969 | // confirm certificate signature |