অ্যান্ড্রয়েড স্টুডিওতে স্বাক্ষরিত APK তৈরি করার সময় স্বাক্ষর সংস্করণগুলির মধ্যে পার্থক্য - ভি 1 (জার স্বাক্ষর) এবং ভি 2 (পূর্ণ APK স্বাক্ষর)?


234

অ্যান্ড্রয়েড স্টুডিও ২.৩ এ ব্যবহার করতে দয়া করে কমপক্ষে স্বাক্ষর সংস্করণগুলির একটি নির্বাচন করুন

এখন অ্যান্ড্রয়েড স্টুডিওতে স্বাক্ষরিত APK তৈরি করার সময়, এটি স্বাক্ষরিত APK জেনারেটর প্রক্রিয়ার শেষ ধাপে স্বাক্ষর সংস্করণ হিসাবে ১ V1 (Jar Signature)এবং ২ V2 (Full APK Signature)নামে দুটি বিকল্প (চেকবক্স) দেখাচ্ছে ।

** স্বাক্ষর সংস্করণ ** বিকল্পগুলি

সুতরাং, নতুন অ্যান্ড্রয়েড স্টুডিও আপডেটে ভি 1 (জার স্বাক্ষর) এবং ভি 2 (সম্পূর্ণ এপিএল স্বাক্ষর) এর মধ্যে পার্থক্য কী ?

এবং প্লে স্টোর মুক্তির জন্য এপিপিতে সাইন ইন করার জন্য আমার কোন (বা উভয়) ব্যবহার করা উচিত?

এছাড়াও, আমি যখন দ্বিতীয় বিকল্পটি ব্যবহার করি তখন APK ইনস্টল করার সময় পার্স ব্যর্থ কোনও শংসাপত্র ইনস্টল করতে ত্রুটি পাচ্ছি ।

উত্তর:


219

এটি এপিডিতে স্বাক্ষরটিকে আরও সুরক্ষিত করার জন্য অতিরিক্ত বৈশিষ্ট্যযুক্ত অ্যান্ড্রয়েড .0.০ এ প্রবর্তিত একটি নতুন স্বাক্ষর প্রক্রিয়া।

এটি বাধ্যতামূলক নয়। সম্ভব হলে আপনার সেই চেকবক্সগুলির দুটি পরীক্ষা করা উচিত, তবে নতুন ভি 2 স্বাক্ষর করার পদ্ধতি যদি আপনাকে সমস্যা দেয় তবে আপনি এটিকে বাদ দিতে পারেন।

সুতরাং আপনার যদি সমস্যা দেখা দেয় তবে আপনি কেবল ভি 2 কে চেক না করে রেখে দিতে পারেন, তবে সম্ভব হলে এটি পরীক্ষা করা উচিত।


যদিও আপনার প্রশ্নটি আবার শব্দ করা উচিত, দেখে মনে হচ্ছে আপনি লিঙ্কযুক্ত যে ডকুমেন্টেশনটি পড়েছেন তাও নয় ... আপনি সেই চেকমার্কটি চেক না করে রেখে যেতে পারেন তা জানার জন্য এটি দরকারী। সম্ভবত আপনি যদি "ত্রুটি বার্তা এবং যে সমস্যার মুখোমুখি হয়েছিলেন) যোগ করেন তবে এই প্রশ্নটি ভবিষ্যতের জন্য আরও মূল্যবান হয়ে উঠবে
বুগার

আমি ভি 1 এবং ভি 2 ব্যবহার করে স্বাক্ষরিত অ্যাপ্লিকেশন দ্বারা অ্যাপ্লিকেশন আপলোড করেছি। এর পরে আমি গুগল প্লে থেকে অ্যাপ্লিকেশনটি ডাউনলোড করি এবং অ্যান্ড্রয়েড স্টুডিও থেকে একই সংস্করণটি চালিত করি এটির "ডায়লগটি দেখায় যেহেতু ডিভাইসের একই প্যাকেজটির সাথে ডিভাইসের একটি অ্যাপ্লিকেশন রয়েছে তবে ভিন্ন স্বাক্ষর… .." আপনি কি আমাকে পরামর্শ দিতে পারবেন? বিল্ড.gradle আপডেট করার জন্য কি ভুলের প্রয়োজন হচ্ছে?
উসমান আফজাল

@ উসমানআফজাল, আপনি যেহেতু মুক্তির সাথে প্লেস্টোরে অ্যাপটি সাইন করেছেন সেহেতু এটি এমন প্রত্যাশিত আচরণ এবং এখন আপনি এটি ডিবাগের সাথে অ্যান্ড্রয়েড স্টুডিওর মাধ্যমে ডিবাগ করতে বা চালাতে চান। লক্ষ্য করুন যে রিলিজ এবং ডিবাগ পৃথক স্বাক্ষর
পরমা ধর্মিকা

44

প্লে স্টোর মুক্তির জন্য আমি apk সাইন ইন করার জন্য (বা উভয়) ব্যবহার করব? একটি উত্তর হ্যাঁ

অনুযায়ী https://source.android.com/security/apksigning/v2.html#verification :

অ্যান্ড্রয়েড .0.০-তে, APK স্বাক্ষর স্কিম ভি 2 (ভি 2 স্কিম) বা জেআর স্বাক্ষর (ভি 1 স্কিম) অনুসারে APKs যাচাই করা যেতে পারে। পুরানো প্ল্যাটফর্মগুলি v2 স্বাক্ষরগুলি উপেক্ষা করে এবং কেবল v1 স্বাক্ষরগুলি যাচাই করে।

আমি ভি 2 (ফুল এপিকে স্বাক্ষর) বিকল্পটি পরীক্ষা করে বিল্ড উত্পন্ন করার চেষ্টা করেছি । তারপরে আমি যখন 7.0 ডিভাইসের নিচে একটি রিলিজ বিল্ড ইনস্টল করার চেষ্টা করেছি এবং আমি ডিভাইসে বিল্ড ইনস্টল করতে অক্ষম।

এর পরে আমি উভয় সংস্করণ চেকবক্সটি পরীক্ষা করে বিল্ড করার চেষ্টা করেছি এবং রিলিজ বিল্ড উত্পন্ন করছিলাম। তারপর বিল্ড ইনস্টল করতে সক্ষম।


24

এখানে লেখা আছে যে "ডিফল্টরূপে, অ্যান্ড্রয়েড স্টুডিও ২.২ এবং গ্রেডল ২.২ এর জন্য অ্যান্ড্রয়েড প্লাগইন আপনার অ্যাপ্লিকেশনটিতে স্বাক্ষর করে স্ক্রিন ভিপি এবং traditionalতিহ্যবাহী স্বাক্ষরকারী স্কিম যা জেআর স্বাক্ষর ব্যবহার করে উভয়ই আপনার অ্যাপ্লিকেশনটিতে স্বাক্ষর করে।"

যেহেতু মনে হয় যে এই নতুন চেকবক্সগুলি অ্যান্ড্রয়েড ২.৩ এর সাথে উপস্থিত হয়েছে, আমি বুঝতে পারি যে আমার পূর্ববর্তী সংস্করণ অ্যান্ড্রয়েড স্টুডিওতে (কমপক্ষে ২.২) উভয় স্বাক্ষর দিয়ে সাইন করেছে। সুতরাং, আমি আগের মতোই চালিয়ে যেতে, আমার মনে হয় উভয় চেকবক্সগুলি পরীক্ষা করা ভাল।

31 মার্চ, 2017 সম্পাদনা করুন: উভয় স্বাক্ষর সহ বেশ কয়েকটি অ্যাপ্লিকেশন জমা দিয়েছেন => কোনও সমস্যা নেই :)


7

আমি মনে করি এটি একটি ভাল উত্তর উপস্থাপন করে।

APK স্বাক্ষর প্রকল্পের v2 যাচাইকরণ

  1. সনাক্ত করুন APK Signing Block এবং যাচাই করুন:
    1. দুটি আকারের ক্ষেত্রের APK Signing Blockমধ্যে একই মান থাকে।
    2. ZIP Central Directoryঅবিলম্বে ZIP End of Central Directoryরেকর্ড অনুসরণ করা হয় ।
    3. ZIP End of Central Directory আরও তথ্য অনুসরণ করা হয় না।
  2. APK Signature Scheme v2 Blockভিতরে প্রথম সন্ধান করুনAPK Signing Block । যদি ভি 2 ব্লক উপস্থিত থাকে তবে 3 ধাপে এগিয়ে যান নইলে, ভি 1 স্কিম ব্যবহার করে APK যাচাই করতে ফিরে যান।
  3. এর প্রতিটি স্বাক্ষরের জন্য APK Signature Scheme v2 Block :
    1. স্বাক্ষর থেকে শক্তিশালী সমর্থিত স্বাক্ষর অ্যালগরিদম আইডি চয়ন করুন। প্রতিটি ক্রম / প্ল্যাটফর্ম সংস্করণে স্ট্যান্ডার্ড অর্ডারিং is
    2. সর্বজনীন কী ব্যবহার করে স্বাক্ষরিত ডেটার বিপরীতে স্বাক্ষর থেকে সম্পর্কিত স্বাক্ষর যাচাই করুন। (স্বাক্ষরিত ডেটা পার্স করা এখন নিরাপদ))
    3. হজম এবং স্বাক্ষরগুলিতে স্বাক্ষর অ্যালগরিদম আইডির ক্রমযুক্ত তালিকাটি অভিন্ন কিনা তা যাচাই করুন। (এটি স্বাক্ষর প্রত্যাহার / সংযোজন রোধ করা))
    4. স্বাক্ষর অ্যালগরিদম দ্বারা ব্যবহৃত ডাইজেস্ট অ্যালগরিদম হিসাবে একই ডাইজেস্ট অ্যালগরিদম ব্যবহার করে APK সামগ্রীর ডাইজেস্ট গণনা করুন।
    5. যাচাই করুন যে গণিত ডাইজেস্ট হজম থেকে সম্পর্কিত ডাইজেস্টের অনুরূপ।
    6. SubjectPublicKeyInfoশংসাপত্রের প্রথম শংসাপত্রের যাচাই করুন জনসাধারণের কী to
  4. কমপক্ষে একজন স্বাক্ষরকারী পাওয়া গেলে এবং প্রতিটি সইনের স্বাক্ষরের জন্য ৩ য় পদক্ষেপ সফল হলে যাচাইকরণ সফল হয়।

দ্রষ্টব্য: 3 বা 4 পদক্ষেপে যদি কোনও ব্যর্থতা দেখা দেয় তবে এপিএকে v1 স্কিম ব্যবহার করে যাচাই করা উচিত নয়।

জার-স্বাক্ষরিত APK যাচাইকরণ (ভি 1 স্কিম)

জার-স্বাক্ষরিত এপিএল একটি স্ট্যান্ডার্ড স্বাক্ষরিত জেআর, এটিতে অবশ্যই তালিকাভুক্ত META-INF/MANIFEST.MFএন্ট্রি থাকতে হবে এবং যেখানে সমস্ত এন্ট্রি একই স্বাক্ষরকারীদের সেট দ্বারা স্বাক্ষর করতে হবে। এর অখণ্ডতা নিম্নলিখিত হিসাবে যাচাই করা হয়:

  1. প্রতিটি স্বাক্ষরকারী একটি META-INF/<signer>.SFএবং META-INF/<signer>.(RSA|DSA|EC)জেআর এন্ট্রি দ্বারা প্রতিনিধিত্ব করা হয় ।
  2. <signer>.(RSA|DSA|EC)PKCS #7 CMS ContentInfoসিগনেডডা কাঠামোযুক্ত এমন একটি যাঁর স্বাক্ষরটি <signer>.SFফাইলের মাধ্যমে যাচাই করা আছে ।
  3. <signer>.SFফাইলটিতে META-INF/MANIFEST.MFপ্রতিটি বিভাগের পুরো-ফাইল হজম এবং হজম থাকে META-INF/MANIFEST.MF। এর পুরো ফাইল ডাইজেস্ট MANIFEST.MFযাচাই করা হয়েছে। যদি এটি ব্যর্থ হয়, MANIFEST.MFপরিবর্তে প্রতিটি বিভাগের ডাইজেস্ট যাচাই করা হবে।
  4. META-INF/MANIFEST.MFপ্রতিটি অখণ্ডতা-সুরক্ষিত জেআর এন্ট্রির জন্য, এন্ট্রিটির সঙ্কুচিত সামগ্রীগুলির ডাইজেস্ট সম্বলিত একটি নামযুক্ত বিভাগ রয়েছে। এই সমস্ত হজম যাচাই করা হয়।
  5. APK এ যাচাইকরণ ব্যর্থ হয় যদি APK এ JAR এন্ট্রি থাকে যাগুলিতে তালিকাভুক্ত MANIFEST.MFনয় এবং JAR স্বাক্ষরের অংশ নয়। সুরক্ষা শৃঙ্খল এইভাবে <signer>.(RSA|DSA|EC)<signer>.SFMANIFEST.MF→ প্রতিটি অখণ্ডতা-সুরক্ষিত JAR- র এন্ট্রির বিষয়বস্তু।

যেখানে এতে বলা হয়েছে "দ্রষ্টব্য: 3 বা 4 ধাপে, ব্যর্থতা যদি স্কিম 2 বা স্কিম 1 এর 3 বা 4 এ ব্যর্থ হয় তবে এপিএকে অবশ্যই ভি 1 স্কিম ব্যবহার করে যাচাই করা উচিত নয়? এছাড়াও যদি ভি 3 এর 3 বা 4 ধাপে কোনও ব্যর্থতা দেখা দেয় এবং তারপরে বলা হয় যে এটি ভি 1 স্কিম ব্যবহার করে যাচাই করা যায় না তবে এটি ভি 1 বা ভি 2 এ যাচাই করা হবে না কীভাবে এটি যাচাই করা হবে?
is জুলিয়ান00

7

এই লিঙ্ক অনুসারে: স্বাক্ষর সাহায্য

APK স্বাক্ষর প্রকল্পের ভি 2 অফারগুলি:

  1. দ্রুত অ্যাপ্লিকেশন ইনস্টল সময়
  2. APK ফাইলগুলিতে অননুমোদিত পরিবর্তনের বিরুদ্ধে আরও সুরক্ষা।

অ্যান্ড্রয়েড .0.০ এপিএইচ সিগনেচার স্কিম v2 উপস্থাপন করেছে, একটি নতুন অ্যাপ্লিকেশন-স্বাক্ষরকরণের স্কিম যা দ্রুত অ্যাপ্লিকেশন ইনস্টলের সময় এবং APK ফাইলগুলিতে অননুমোদিত পরিবর্তনের বিরুদ্ধে আরও সুরক্ষা সরবরাহ করে। ডিফল্টরূপে, অ্যান্ড্রয়েড স্টুডিও ২.২ এবং গ্রেডল ২.২ এর জন্য অ্যান্ড্রয়েড প্লাগইন আপনার অ্যাপ্লিকেশনটিতে স্বাক্ষর করে স্ক্রিন ভিপি এবং traditionalতিহ্যবাহী স্বাক্ষরকারী স্কিম যা জেআর স্বাক্ষর ব্যবহার করে উভয়ই স্বাক্ষর করে app

এইটা APK সিগনেচার স্কিম v2 ব্যবহার করার পরামর্শ দেওয়া হলেও এটি বাধ্যতামূলক নয়

যদিও আমরা আপনার অ্যাপ্লিকেশনটিতে APK সিগনেচার স্কিম v2 প্রয়োগ করার পরামর্শ দিচ্ছি, তবে এই নতুন স্কিমটি বাধ্যতামূলক নয়। যদি আপনার অ্যাপ্লিকেশনটি APK স্বাক্ষর স্কিম v2 ব্যবহার করার সময় সঠিকভাবে তৈরি না করে তবে আপনি নতুন স্কিমটি অক্ষম করতে পারেন।


হাই @ শিরিশ, আমরা কি গ্রহন থেকে ভি 2 বিল্ড তৈরি করতে পারি?
অর্জুন টি রাজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.