Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: প্রোফাইল :: সুরক্ষা :: কেএসই :: ওয়েভ সিএসএআউথডেলিগেট

এটি একটি বিমূর্ত শ্রেণি।

#include <src/lib/profiles/security/WeaveCASE.h>

সারাংশ ইন্টারফেস যা প্রমাণীকরণ ক্রিয়া সময় অর্পণ করা হয়েছে ক্ষেত্রে অধিবেশন প্রতিষ্ঠার।

সারসংক্ষেপ

উত্তরাধিকার

সরাসরি পরিচিত উপশ্রেণী: nl এর :: বুনা :: DeviceManager :: WeaveDeviceManager

পাবলিক ফাংশন

BeginValidation (const BeginSessionContext & msgCtx, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
শংসাপত্রের বৈধতা শুরুর সময় বলা হয়।
EncodeNodeCertInfo (const BeginSessionContext & msgCtx,TLVWriter & writer)=0
virtual WEAVE_ERROR
এনকোড ক্ষেত্রে স্থানীয় নোড জন্য শংসাপত্র তথ্য।
EncodeNodePayload (const BeginSessionContext & msgCtx, uint8_t *payloadBuf, uint16_t payloadBufSize, uint16_t & payloadLen)
virtual WEAVE_ERROR
একটি অ্যাপ্লিকেশন-নির্দিষ্ট পে লোড এনকোড অন্তর্ভুক্ত করার ক্ষেত্রে পিয়ার বার্তা।
EndValidation (const BeginSessionContext & msgCtx, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual void
শংসাপত্রের বৈধতার শেষে বলা হয়।
GenerateNodeSignature (const BeginSessionContext & msgCtx, const uint8_t *msgHash, uint8_t msgHashLen,TLVWriter & writer, uint64_t tag)=0
virtual WEAVE_ERROR
স্থানীয় নোডের ব্যক্তিগত কী ব্যবহার করে একটি স্বাক্ষর তৈরি করুন।
HandleValidationResult (const BeginSessionContext & msgCtx, ValidationContext & validCtx, WeaveCertificateSet & certSet, WEAVE_ERROR & validRes)=0
virtual WEAVE_ERROR
শংসাপত্রের বৈধতার ফলাফল সহ কল ​​করা।
OnPeerCertsLoaded (const BeginSessionContext & msgCtx, WeaveDN & subjectDN, CertificateKeyId & subjectKeyId, ValidationContext & validCtx, WeaveCertificateSet & certSet)
virtual WEAVE_ERROR
পিয়ারের শংসাপত্রগুলি লোড হওয়ার পরে কল করা হয়েছে।

পাবলিক ফাংশন

বিগভ্যালিডেশন

virtual WEAVE_ERROR BeginValidation(
  const BeginSessionContext & msgCtx,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

শংসাপত্রের বৈধতা শুরুর সময় বলা হয়।

বাস্তবায়নের সরবরাহকৃত আরম্ভ আবশ্যক WeaveCertificateSet আসন্ন শংসাপত্র বৈধতা হ্যান্ডেল করার জন্য যথেষ্ট সম্পদ সঙ্গে অবজেক্ট। এই সময়ে ইমপ্লিমেনটেসন শংসাপত্র সেট মধ্যে বিশ্বাসযোগ্য রুট বা CA সার্টিফিকেট লোড, বা না হওয়া পর্যন্ত অপেক্ষা করতে পারে OnPeerCertsLoaded () বলা হয়।

শংসাপত্র সেটে লোড হওয়া প্রতিটি শংসাপত্রকে লোড ফাংশন দ্বারা একটি ডিফল্ট শংসাপত্র টাইপ দেওয়া হবে। বাস্তবায়নের প্রয়োজনীয় হিসাবে এই ধরনের সমন্বয় যাচাই চলাকালীন সার্টিফিকেটের সঠিক চিকিত্সা, এবং জন্য WeaveAuthMode সঠিক নিয়োগ নিশ্চিত করার উচিত ক্ষেত্রে পারস্পরিক ক্রিয়ার।

সরবরাহিত বৈধতা প্রসঙ্গটি ডিফল্ট বৈধকরণের মানদণ্ডের একটি সেট দিয়ে শুরু করা হবে, যা বাস্তবায়ন প্রয়োজনীয় হিসাবে পরিবর্তিত হতে পারে। বাস্তবায়নটি হয় কার্যকর টাইম ক্ষেত্রটি সেট করতে হবে, বা শংসাপত্রের আজীবন বৈধতা দমন করার জন্য উপযুক্ত বৈধতা পতাকাগুলি সেট করে set

যদি বিশদ বৈধকরণের ফলাফলগুলি পছন্দসই হয় তবে প্রয়োগটি CertValidationResults এবং CertValidationLen ক্ষেত্রগুলিকে আরম্ভ করতে পারে।

বাস্তবায়নের কোনো সম্পদ সময় বরাদ্দ বজায় রাখার জন্য প্রয়োজন হয় BeginValidation () সংশ্লিষ্ট পর্যন্ত EndValidation () নামক পরীক্ষা করা হয়। বাস্তবায়নের নিশ্চয়তা করছেন যে EndValidation () ঠিক প্রতিটি সফল কলের জন্য একবার ডাকা হবে BeginValidation ()

এনকোডনোডকার্টআইএনফো

virtual WEAVE_ERROR EncodeNodeCertInfo(
  const BeginSessionContext & msgCtx,
  TLVWriter & writer
)=0

এনকোড ক্ষেত্রে স্থানীয় নোড জন্য শংসাপত্র তথ্য।

বাস্তবায়নের ডিফল্ট এনকোডিং ওভাররাইড করতে এই কলে ব্যবহার করতে পারেন ক্ষেত্রে স্থানীয় নোড জন্য CertificateInformation কাঠামো। যখন ডাকা হয়, বাস্তবায়নের জন্য একটি নূন্যতম, স্থানীয় নোডের সত্তার শংসাপত্র সহ একটি শংসাপত্রের তথ্য কাঠামো লিখতে হবে। বাস্তবায়নে optionচ্ছিকভাবে সম্পর্কিত শংসাপত্র এবং / অথবা বিশ্বাস নোঙ্গরগুলির একটি সেট অন্তর্ভুক্ত থাকতে পারে।

এনকোডনোডপায়লোড

virtual WEAVE_ERROR EncodeNodePayload(
  const BeginSessionContext & msgCtx,
  uint8_t *payloadBuf,
  uint16_t payloadBufSize,
  uint16_t & payloadLen
)

একটি অ্যাপ্লিকেশন-নির্দিষ্ট পে লোড এনকোড অন্তর্ভুক্ত করার ক্ষেত্রে পিয়ার বার্তা।

এই পদ্ধতিটি প্রয়োগ করা alচ্ছিক। ডিফল্ট বাস্তবায়ন একটি শূন্য দৈর্ঘ্যের পেডলোড দেয়।

অব্যাহতি

virtual void EndValidation(
  const BeginSessionContext & msgCtx,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

শংসাপত্রের বৈধতার শেষে বলা হয়।

শংসাপত্রের বৈধতা শেষ হওয়ার পরে বাস্তবায়নগুলি এই কলটি ক্লিনআপ সম্পাদন করতে ব্যবহার করতে পারে। বাস্তবায়নের নিশ্চয়তা করছেন যে EndValidation () ঠিক প্রতিটি সফল কলের জন্য একবার ডাকা হবে BeginValidation ()

জেনারেট নোড সিগনেচার

virtual WEAVE_ERROR GenerateNodeSignature(
  const BeginSessionContext & msgCtx,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  TLVWriter & writer,
  uint64_t tag
)=0

স্থানীয় নোডের ব্যক্তিগত কী ব্যবহার করে একটি স্বাক্ষর তৈরি করুন।

যখন অনুরোধ করা হয় তখন প্রয়োগগুলি নোডের ব্যক্তিগত কী ব্যবহার করে প্রদত্ত হ্যাশ মানটিতে একটি স্বাক্ষর গণনা করতে হবে। উত্পন্ন স্বাক্ষর তারপর একটি আকারে লিখতে হবে ক্ষেত্রে সরবরাহকৃত করার ECDSASignature গঠন TLV নিদিষ্ট ট্যাগ ব্যবহার লিখন।

ক্ষেত্রে যেখানে নোড এর ব্যক্তিগত কী একটি স্থানীয় বাফারে অনুষ্ঠিত হয় ইন, GenerateAndEncodeWeaveECDSASignature () ইউটিলিটি ফাংশন এই পদ্ধতি বাস্তবায়নের জন্য উপযোগী হতে পারে।

হ্যান্ডেলভালিডেশন রেজাল্ট

virtual WEAVE_ERROR HandleValidationResult(
  const BeginSessionContext & msgCtx,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet,
  WEAVE_ERROR & validRes
)=0

শংসাপত্রের বৈধতার ফলাফল সহ কল ​​করা।

বাস্তবায়নগুলি পিয়ারের শংসাপত্রের বৈধতার ফলাফলটি পরিদর্শন করতে এবং সম্ভবত পরিবর্তন করতে পারে poss যদি বৈধতা সফল হয়, তবে বৈধ রেশগুলি WEAVE_NO_ERROR এ সেট করা হবে। এই ক্ষেত্রে, বৈধতা প্রসঙ্গে ফলাফল সম্পর্কিত বিশদ থাকবে। বিশেষত, ট্রাস্টআঙ্কর ক্ষেত্রটি বিশ্বাস নোঙ্গর শংসাপত্রে সেট করা হবে।

বাস্তবায়ন মধ্যে CertValidationResults এবং CertValidationLen ক্ষেত্র সক্রিয়া তাহলে ValidationContext সময় গঠন BeginValidation () বলা হয়, তারপর এই ক্ষেত্র শংসাপত্র সেট প্রতিটি সার্টিফিকেটের জন্য বিস্তারিত বৈধকরণ ফলাফল অন্তর্ভুক্ত হবে।

বাস্তবায়নগুলি একটি ত্রুটি মানটিতে বৈধ র‌েস সেট করে এটিকে ওভাররাইড করতে পারে, যার ফলে বৈধতা ব্যর্থ হয়।

যদি বৈধতা ব্যর্থ হয়, তবে বৈধআরেসগুলি ব্যর্থতার কারণ প্রতিফলিত করবে। প্রয়োগগুলি ফলাফলকে অন্যরূপ ত্রুটির মানটিতে ওভাররাইড করতে পারে তবে ফলাফলটি WEAVE_NO_ERROR এ সেট করা উচিত নয়।

OnPeerCertsLoaded

virtual WEAVE_ERROR OnPeerCertsLoaded(
  const BeginSessionContext & msgCtx,
  WeaveDN & subjectDN,
  CertificateKeyId & subjectKeyId,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)

পিয়ারের শংসাপত্রগুলি লোড হওয়ার পরে কল করা হয়েছে।

প্রয়োগগুলি এই কলটি ইনপুট শংসাপত্রগুলি এবং চূড়ান্তকরণের মানদণ্ডকে চূড়ান্ত করতে ব্যবহার করতে পারে যা পিয়ারের শংসাপত্রের বৈধতা সম্পাদন করতে ব্যবহৃত হবে। কল সময়ে, পিয়ার দ্বারা সরবরাহ করা শংসাপত্রগুলি শংসাপত্র সেটে লোড করা হবে (উপস্থিত থাকলে তার নিজস্ব শংসাপত্র সহ)। অতিরিক্তভাবে, সাবজেক্টডিএন এবং সাবজেক্টকি কী যুক্তিগুলি মানগুলিতে শুরু করা হবে যা শংসাপত্র সেট থেকে পিয়ারের শংসাপত্রটি সমাধান করার জন্য ব্যবহৃত হবে। যদি পিয়ার তার নিজস্ব শংসাপত্র সরবরাহ করে (শংসাপত্রের রেফারেন্সের চেয়ে) তবে বৈধCtx আর্গুমেন্টের মধ্যে থাকা ইন্টিটিকার্ট ক্ষেত্রটিতে সেই শংসাপত্রের একটি পয়েন্টার থাকবে।

এই আহ্বানের সময়, বাস্তবায়নগুলি নতুন শংসাপত্র যুক্ত করে শংসাপত্রের সেটগুলির বিষয়বস্তুগুলিকে সংশোধন করতে পারে। তারা প্রয়োজনীয়ভাবে সাবজেক্ট ডিএন, সাবজেক্টকি কী বা বৈধCtx যুক্তিও পরিবর্তন করতে পারে। সর্বাধিক গুরুত্বপূর্ণ, বাস্তবায়ন বৈধতা এবং পরবর্তী অ্যাক্সেস নিয়ন্ত্রণ চেক চলাকালীন শংসাপত্রের সঠিক চিকিত্সা নিশ্চিত করতে ফিরে আসার পূর্বে শংসাপত্রের সেট শংসাপত্রের সাথে শংসাপত্র টাইপ ক্ষেত্রগুলি সমন্বয় করা উচিত।

দ্রষ্টব্য: পিয়ার সম্পূর্ণ শংসাপত্রের পরিবর্তে নিজের জন্য শংসাপত্রের রেফারেন্স সরবরাহ করে এমন ইভেন্টে, বৈধতা প্রসঙ্গে এনটিটি কার্ট ফিল্ডটি একটি ন্যূনাল থাকবে। যদি কোনও বাস্তবায়ন শংসাপত্রের রেফারেন্সগুলিকে সমর্থন করতে চায়, তবে অবশ্যই ফিরে আসার আগে শংসাপত্রের সেটটির সাথে পিয়ারের বিষয়বস্তু ডিএন এবং কী আইডির সাথে একটি শংসাপত্র যুক্ত করতে হবে।

এই পদ্ধতিটি প্রয়োগ করা alচ্ছিক। ডিফল্ট বাস্তবায়ন কিছুই করে না।