BOOST_FIXTURE_TEST_CASE(EcdsaSigningByIdentityNoCert, IdentityManagementFixture) { Data data("/test/data"); Name nonExistingIdentity = Name("/non-existing/identity").appendVersion(); BOOST_CHECK_NO_THROW(m_keyChain.sign(data, signingByIdentity(nonExistingIdentity))); BOOST_CHECK_EQUAL(data.getSignature().getType(), KeyChain::getSignatureType(KeyChain::DEFAULT_KEY_PARAMS.getKeyType(), DigestAlgorithm::SHA256)); BOOST_CHECK(nonExistingIdentity.isPrefixOf(data.getSignature().getKeyLocator().getName())); Name ecdsaIdentity = Name("/ndn/test/ecdsa").appendVersion(); Name ecdsaKeyName = m_keyChain.generateEcdsaKeyPairAsDefault(ecdsaIdentity, false, 256); BOOST_CHECK_NO_THROW(m_keyChain.sign(data, signingByIdentity(ecdsaIdentity))); BOOST_CHECK_EQUAL(data.getSignature().getType(), KeyChain::getSignatureType(EcdsaKeyParams().getKeyType(), DigestAlgorithm::SHA256)); BOOST_CHECK(ecdsaIdentity.isPrefixOf(data.getSignature().getKeyLocator().getName())); }
const RegisteredPrefixId* Face::registerPrefix(const Name& prefix, const RegisterPrefixSuccessCallback& onSuccess, const RegisterPrefixFailureCallback& onFailure, const Name& identity, uint64_t flags) { security::SigningInfo signingInfo = signingByIdentity(identity); return registerPrefix(prefix, onSuccess, onFailure, signingInfo, flags); }
const RegisteredPrefixId* Face::setInterestFilter(const InterestFilter& interestFilter, const OnInterest& onInterest, const RegisterPrefixFailureCallback& onFailure, const Name& identity, uint64_t flags) { security::SigningInfo signingInfo = signingByIdentity(identity); return setInterestFilter(interestFilter, onInterest, onFailure, signingInfo, flags); }
security::Identity IdentityManagementFixture::addSubCertificate(const Name& subIdentityName, const security::Identity& issuer, const KeyParams& params) { auto subIdentity = addIdentity(subIdentityName, params); v2::Certificate request = subIdentity.getDefaultKey().getDefaultCertificate(); request.setName(request.getKeyName().append("parent").appendVersion()); SignatureInfo info; auto now = time::system_clock::now(); info.setValidityPeriod(security::ValidityPeriod(now, now + 7300_days)); v2::AdditionalDescription description; description.set("type", "sub-certificate"); info.appendTypeSpecificTlv(description.wireEncode()); m_keyChain.sign(request, signingByIdentity(issuer).setSignatureInfo(info)); m_keyChain.setDefaultCertificate(subIdentity.getDefaultKey(), request); return subIdentity; }