শংসাপত্র আমদানি করার পরে জাভা কীটোলে ত্রুটি, "কীটোল ত্রুটি: java.io.FileNotFoundException এবং অ্যাক্সেস অস্বীকৃত"


128

আমি এইচটিটিপিএসের মাধ্যমে একটি জাভা ওয়েব এপিআই সংযোগ করার চেষ্টা করছি; তবে, একটি ব্যতিক্রম নিক্ষেপ করা হয়:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException

অনলাইন কীটোল এবং এসএসএল শংসাপত্রের টিউটোরিয়াল থেকে আমি এই পদক্ষেপগুলি অনুসরণ করেছি:

  1. আমি ব্রাউজারে এইচটিটিপিএস ইউআরএল অনুলিপি করেছি, এসএসএল শংসাপত্রগুলি ডাউনলোড করেছি এবং ইন্টারনেট এক্সপ্লোরার ব্যবহার করে ব্রাউজারে সেগুলি ইনস্টল করেছি।

  2. আমার কম্পিউটারে কোনও শংসাপত্রগুলি রফতানি করে, শংসাপত্রগুলি সেভ করে .cer

  3. কীটোলের আমদানি বিকল্পটি ব্যবহার করা হয়েছে। নীচের কমান্ডটি কোনও ত্রুটি ছাড়াই কার্যকর করা হয়েছে।

    keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
  4. কমান্ড প্রম্পটে আমাকে একটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করা হয়েছিল, যা আমি প্রবেশ করিয়েছিলাম তখন আমি সত্যতা পেয়েছি।

  5. cmdউইন্ডোর কিছু শংসাপত্র তথ্য & স্বাক্ষর মুদ্রিত এবং আমি প্রশ্নের সঙ্গে অনুরোধ জানানো হয়েছিল:

    এই শংসাপত্র বিশ্বাস?

    আমি উত্তর দিলাম।

  6. সিএমডি প্রম্পট প্রদর্শিত

    কীস্টোরে শংসাপত্র যুক্ত করা হয়েছিল

    তবে সেই বার্তার পরে, আর একটি ব্যতিক্রম প্রদর্শিত হয়েছিল:

    keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>

অবশেষে যখন আমি কীস্টোরটি যাচাই করেছিলাম, এসএসএল শংসাপত্র যুক্ত করা হয়নি এবং আমার অ্যাপ্লিকেশনটি সংযোগ দেওয়ার চেষ্টা করার সময় আমি আগে পেয়ে যাচ্ছিলাম একই ব্যতিক্রম দেয়:

(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)

আপনি keytoolযে কার্যকর আদেশটি কার্যকর করেছেন তার সঠিক পোস্টটি পোস্ট করতে পারেন এবং এটি আউটপুট? এখানে কিছু সুস্পষ্ট সমস্যা -keystoreযুক্তির টাইপও রয়েছে এবং কীটোলটি কী আমদানির জন্য কীস্টোরটি খুঁজে পেতে অক্ষম হয়েছিল
অ্যালেক্স

আমি লিখতে চেয়েছিলাম: keytool -import -alias downloadedCertAlias ​​-keystore C: \ path \ to \ my \ keystore \ cacerts.file -file C: \ path \ of \ exporterCert.cer আমিও ত্রুটি ছাড়াই মৃত্যুদন্ড কার্যকর করার আদেশ উল্লেখ করেছি, তাই স্পষ্টতই এটি আমার প্রশ্নে বানান ভুল মাত্র !!! যাইহোক ধন্যবাদ
সাইবার 101

উত্তর:


267

আপনি যদি প্রশাসক মোডে কমান্ড প্রম্পট পরিচালনা না করে থাকেন তবে এটি ঘটতে পারে। আপনি যদি উইন্ডোজ 7 ব্যবহার করে থাকেন তবে আপনি দৌড়াতে যেতে পারেন, সিএমডি টাইপ করতে পারেন এবং Ctrl + Shift + enter টিপুন। এটি প্রশাসক মোডে কমান্ড প্রম্পটটি খুলবে। যদি তা না হয় তবে আপনি -> সমস্ত প্রোগ্রাম -> আনুষাঙ্গিক -> রাইট ক্লিক করে কমান্ড প্রম্পট শুরু করতে এবং 'প্রশাসক হিসাবে চালান' এ ক্লিক করতে পারেন।


9
ম্যাক ব্যবহারকারীদের জন্য, একটি সাধারণ সুডো এই সমস্যাটি সমাধান করবে।
সত্যবাদী_

13
অ্যাডমিন হিসাবে চালানো সঠিক সমাধান নয়। বেশিরভাগ সংস্থাগুলি অ্যাডমিন অ্যাক্সেস লক করছে। প্রচারগুলি উন্নত করার পরিবর্তে অ্যাক্সেসকে কেন অস্বীকার করা হয়েছে তার কারণটি স্থির করে নেওয়া ভাল।
21:38

এবার cmd CTRL + শিফট + Enter যোগ শংসাপত্র successfully- তার আমার জন্য কাজ লেখার
কানাগুলি

ধন্যবাদ। নিয়ন্ত্রণ-শিফট সিএমডি হ'ল একমাত্র উপায় যা আমি ক্যাশেটার স্টোর পরিবর্তন করতে পারি।
ম্যালকম বোয়েখফ

@ আফশারকে অনেক ধন্যবাদ আমি দীর্ঘদিন ধরে এটির সাথে লড়াই করে যাচ্ছি।
রাজন চৌহান

21

উইন্ডোজের অধীনেও আমার একই সমস্যা ছিল এবং এটি প্রশাসক হিসাবে cmd.exe চালিয়ে সমাধান করতে পারতাম (শুরু মেনুতে ডান ক্লিক করুন, তারপরে "প্রশাসক হিসাবে চালান)।


19

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

কীস্টোর কীটোল ত্রুটিতে শংসাপত্র যুক্ত করা হয়েছিল: java.io.FileNotFoundException: C: \ প্রোগ্রাম ফাইলগুলি জাভা \ jdk1.8.0_151 re jre \ lib \ সুরক্ষা (অ্যাক্সেস অস্বীকার করা হয়েছে)

নিম্নলিখিত সমাধান আমার জন্য কাজ।

1) নিশ্চিত হয়ে নিন যে আপনি প্রশাসকে মোড হিসাবে রুসে কমান্ড প্রম্পট চালাচ্ছেন

2) আপনার বর্তমান ডিরেক্টরিটি% JAVA_HOME%% jre \ lib \ সুরক্ষায় পরিবর্তন করুন

3) তারপরে নীচের কমান্ডটি জারি করুন

keytool -import -alias "mycertificatedemo" -file "C: \ ব্যবহারকারীদের নাম \ ডাউনলোডগুলি \ abc.crt" -কোস্টোর ক্যাসার্টস

3) পাসওয়ার্ড পরিবর্তন করুন

4) y লিখুন

5) আপনি সফল "শংসাপত্র কীস্টোরে যুক্ত করা হয়েছে" এ নিম্নলিখিত বার্তাটি দেখতে পাবেন

নিশ্চিত করুন যে আপনি " কিসরেটস " কেবলমাত্র-ইনস্টোরের পরম মান দিচ্ছেন, কারণ আমি "সি **: \ প্রোগ্রাম ফাইলগুলি জাভা \ জেডিকি 1.8.0_151 re জেআর \ লিবিব \ সুরক্ষা **" এর মতো পুরো পথ দিচ্ছি।

আশা করি এটি কার্যকর হবে


1
এখানে উল্লেখ করা হয়েছে, আসলে হচ্ছে মধ্যে নিরাপত্তা ডিরেক্টরি ও শুধুমাত্র সম্পূর্ণ পথ পরিবর্তে যা নিশ্চিতভাবে ঘটবে এর "cacerts" নাম দান কি আমার জন্য কাজ করেন।
রাইজিংটাইড

আমি ম্যাকের প্রথম ধাপে নিজেকে সুপারউজার তৈরি করতে sudo -i ব্যবহার করেছি এবং পদক্ষেপগুলি অনুসরণ করেছি এবং এটি কার্যকর হয়েছে। আমি কেরেটস ফাইলটিকে একটি পাঠ্য ফাইল হিসাবে খুলেছি এবং এর নাম অনুসন্ধান করতে (বা শংসাপত্রের সাথে সম্পর্কিত অন্য কিছু) অনুসন্ধান করার জন্য ক কমান্ড দিয়ে আমার শংসাপত্রটি পেয়েছি।
চিগোজি এ।

11

কীস্টোরে লেখার অনুমতিগুলি পরীক্ষা করুন।


2
কেউ যদি এটিতে প্রসারিত করতে পারেন, কেবল অনুমতিগুলি পরীক্ষা করে কোনও পরিবর্তন হবে না।
ব্যবহারকারী 3071284

টমক্যাট ডিরেক্টরিটি কেবলমাত্র পঠন-পাঠাতে সেট করা এই ব্যতিক্রম ঘটায়
স্বাওয়ারোগ

ওয়েট অনুমতি চেক কিভাবে?
আহমদ আরসলান

3

ম্যাক ব্যবহারকারীদের জন্য সুডো নিশ্চিত করে নিন এবং প্রথমে আপনার প্রশাসককে পাসওয়ার্ড দেওয়ার অনুরোধ জানানো হয় এবং এরপরে কীস্টোরের পাসওয়ার্ড অনুসরণ করা হয় যা সাধারণত এটি পরিবর্তন না করা হলে সাধারণত "চেঞ্জিট" হওয়া উচিত।


1

যদি আপনি উইন্ডোজ 8 ব্যবহার করেন:

  1. শুরু বোতামটি ক্লিক করুন
  2. অনুসন্ধান বাক্সে, টাইপ করুন command prompt
  3. ফলাফল থেকে, ডান ক্লিক করুন command promptএবং ক্লিক করুন Run as administrator। তারপরে কীটল কমান্ডটি কার্যকর করুন।

1

এই সমস্যাটি সমাধানের জন্য আপনি নিজেকে অনুমতি দিতে পারেন।

ক্যা্যাসার্টস> বৈশিষ্ট্য চয়ন করুন> সিকিউরিট ট্যাব নির্বাচন করুন> সমস্ত গ্রুপ এবং ব্যবহারকারীর নামগুলিতে সমস্ত অনুমতি অনুমতি দিন on

এটি আমার পক্ষে কাজ করেছে।


0

এমনকি আমি প্রশাসক হিসাবে কমান্ড প্রম্পটটি চালিত করি তবে নীচের ত্রুটিটি নিয়ে এটি আমার পক্ষে কার্যকর হয়নি।

'keytool' is not recognized as an internal or external command,
 operable program or batch file.

যদি কীটোলের পাথটি আপনার সিস্টেমের পাথগুলিতে না থাকে তবে আপনাকে কী-টোলটি ব্যবহার করার জন্য পুরো পাথটি ব্যবহার করতে হবে, যা

C:\Program Files\Java\jre<version>\bin

সুতরাং, কমান্ডটি এমন হওয়া উচিত

"C:\Program Files\Java\jre<version>\bin\keytool.exe" -importcert -alias certificateFileAlias -file CertificateFileName.cer -keystore cacerts

যে আমার জন্য কাজ করে।


0

আমি এই ত্রুটিটি পেয়েছি এমনকি প্রশাসক হিসাবে আমি সেন্টিমিডি চালিয়েছি।

মূল কারণটি হ'ল ফাইলটি ভিসিএস (সাবভারশন, পারফোর্স ইত্যাদি) থেকে আসে এবং আমি যখন এই ফাইলটির বৈশিষ্ট্যগুলি পরীক্ষা করেছি তখন এর 'বৈশিষ্ট্যগুলি কেবল পঠনযোগ্য

সুতরাং সমাধানটি হ'ল:

  • (1) 'কেবল পঠনযোগ্য' বৈশিষ্ট্য অক্ষম করুন;
  • (২) ভিসিএস থেকে চেক আউট করুন, ফাইলটি পড়ার এবং লেখার স্থিতির আওতায় আসুন।

-1

মীমাংসিত

  1. প্রশাসক হিসাবে কেবল সিএমডি চালান।
  2. আপনার সঠিক ট্রাস্টস্টোর পাসওয়ার্ড ব্যবহার করা নিশ্চিত করুন

-2

আপনি অর্থের ডিস্ক বা পাথ সংরক্ষণ করতে পারেন (সি নয়) EX: D

C:\Program Files\Java\jre1.8.0_101\bin>keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore D:\myserver.jks -dname "CN=myserver,OU=IT-WebDev, O=TIACHOP, L=HCM, ST=0753, C=VN" && keytool -certreq -alias server -file D:\myserver.csr -keystore D:\myserver.jks

এখানে চিত্র বর্ণনা লিখুন

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