Mobile ad hoc networks show great potential in emergency response and/or recovery. Such mission-critical applications demand security service be "anywhere", "anytime" and "anyhow". However, it is challenging to design a key management scheme in current wireless ad hoc networks to fulfill the required attributes of secure communications, such as data integrity, authentication, confidentiality, non-repudiation and service availability, when Sybil attacks are present. In this paper, we present a self-contained public key management scheme, called SMOCK, which is able to resist the Sybil attack, achieves zero communication overhead for authentication, and offers high service availability. In our scheme, small number of cryptographic keys are stored off-line at individual nodes before they are deployed in the network. To provide good scalability in terms of number of nodes and storage space, we utilize a combinatorial design of public-private key pairs, which means nodes combine more than one key pair to encrypt and decrypt messages. We also show that SMOCK provides controllable resilience when malicious nodes break into a limited number of nodes before key revocation and renewal.