উইন্ডোজে /usr/local/ssl/openssl.cnf থেকে কনফিগার করা তথ্য লোড করতে অক্ষম


183

উইন্ডোজ ওপেনএসএসএল ব্যবহার করার সময়:

openssl genrsa -out privatekey.pem 1024 -->

সফলভাবে তৈরি করা হয়েছে

openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 
---->

হিসাবে ত্রুটি বার্তা দেখাচ্ছে

/usr/local/ssl/openssl.cnf থেকে কনফিগার করা তথ্য লোড করতে অক্ষম


3
সমস্ত উত্তরগুলি দেখায় যে কোনওরকম কোনও একটিতে অবশ্যই কনফিগার ফাইলটি openssl.cnf উল্লেখ করতে হবে .. তবে কোন কনফিগার ফাইলটি কেউ উল্লেখ করেনি, ?? কে এটি তৈরি করে, ?? এর বিষয়বস্তু কি?
joedotnot

উত্তর:


170

ওপেনএসএসএল ইনস্টল করার পরে আমাকে একটি নতুন পরিবেশের পরিবর্তনশীল তৈরি করতে হবে:

  • নাম: OPENSSL_CONF
  • মান: C:\Program Files\OpenSSL\openssl.cnf

পাওয়ারশেলে:

$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL\openssl.cnf"

এই মানটি পূর্ববর্তী ইনস্টলেশন সংস্করণগুলির চেয়ে পৃথক (এই পোস্টের পূর্ববর্তী সম্পাদনায় দেখা যায়)। এছাড়াও, ${env:ProgramFiles}\OpenSSLআপনার পথে ওপেনসেল বাইনারি ফোল্ডারটি যুক্ত করতে ভুলবেন না ।


16
সংস্করণ 1.0.1j এ C:\OpenSSL-Win32\bin\openssl.cfgপরিবর্তে আমাকে ব্যবহার করতে হয়েছিল।
কেভিন প্যাঙ্কো

7
বা সি:
bits৪ বিট

13
বা C:\Program Files (x86)\Git\ssl\openssl.cfgইতিমধ্যে গিট সঙ্গে তাদের জন্য।
kspearrin

আপনি কোথায় / এই মানটি সেট করছেন?
ম্যাঠো 1460

এটি এটি আপনার ব্যবহারকারীর প্রারম্ভিক পরিবেশে রাখবে:SETX OPENSSL_CONF c:/libs/openssl-0.9.8k/openssl.cnf
রস প্রেসার

78

আপনার কনফিগারেশনের নিখুঁত পাথ নির্দিষ্ট করা উচিত: এরকম কিছু:

openssl req -x509 -config "C:\OpenSSL-Win64\bin\openssl.cnf" ...

36
-কনফিগ সি: \ ওপেনএসএসএল-
উইন

4
সংস্করণে 1.0.1e থেকে ডাউনলোড slproweb.com/products/Win32OpenSSL.html আছে শুধুমাত্র ফাইল openssl.cfgইনস্টলেশনের পরে বিন তালিকা উপস্থিত রয়েছে। তবে এই ফাইলটির সাথে এটি যেভাবেই কাজ করবে বলে মনে হচ্ছে।
ভানজে

9
আপনি যদি গিতের সাথে সরবরাহিত ওপেনএসএসএল ব্যবহার করে থাকেন তবে আপনি চেষ্টা করতে পারেন-config "C:\Program Files (x86)\Git\ssl\openssl.cnf"
জোয়েল বি

2
ওপেনসেল: ত্রুটি: '-config' একটি অবৈধ আদেশ। তোমরা ছেলেরা কীভাবে সেট করবে?
বেনজ

1
@kewlbfy নীচে @ কোসর উত্তরটি দেখুন কোথায় -configপতাকাটি ব্যবহার করতে হবে, এটি আমার পক্ষে কাজ করেছে
দানজাহ

35

উইন্ডোজ 10-এ, প্রশাসকের মোডে পুনরায় আরম্ভ করার বা চালানোর দরকার নেই বরং এর পরিবর্তে ওপেনসেল কনফিগারেশন সেট করুন:

set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf

অবশ্যই, যদি আপনি ব্যবহার করছেন GnuWin32


20

উইন্ডোজে, [ একই রকম দৃশ্য scenario ]

আমি একই সমস্যার মুখোমুখি হয়েছিলাম তবে এটি শংসাপত্র স্বাক্ষরের অনুরোধের জন্য অনুরোধ করার সময় ছিল।

আমি নীচে এটি করেছি, এটি আমার জন্য কাজ করেছে।

ওপেনএসএসএল ইনস্টল হয়ে গেলে সিস্টেম পুনরায় বুটের পরে রান কমান্ড প্রশাসক হিসাবে প্রম্পট করবে [[সর্বোপরি আমি দুজনেই করলাম .. অ্যাডমিন এবং সিস্টেম রিবুট হিসাবে চালানো]

করেছেন, ১. [ত্রুটির কেস]

C:\OpenSSL-Win64\bin>openssl req -new -key server.key -out server.csr

সতর্কতা: কনফিগার ফাইলটি খুলতে পারে না: সি: \ ওপেনএসএসএল-উইন 64 64 বিন \ ওপেনএসএল.সিএনএফ এবং সি: \ ওপেনএসএসএল-উইন 64 \ বিন \ ওপেনএসএল.সিএনএফ থেকে কনফিগার তথ্য লোড করতে অক্ষম

২ [[সতর্কতার সাথে কাজ করা]

C:\OpenSSL-Win64\bin> openssl req -new -key server.key -out server.csr -config C:\OpenSSL-Win64\bin\openssl.cfg

[সতর্কতা বার্তা]: সতর্কতা: কনফিগারেশন ফাইলটি খুলতে পারে না: সি: \ ওপেনএসএসএল-উইন 64 \ বিন \ ওপেনএসএল.সিএনএফ

কিন্তু সার্ভারের জন্য আমাকে পাস বাক্যাংশের জন্য অনুরোধ জানিয়েছিল keyকি এটি আমার পক্ষে কাজ করেছিল

আমি উল্লেখ করেছি, আমার সহায়তার জন্য এই লিঙ্কটি

ধন্যবাদ.


ধন্যবাদ, আপনি যে লিঙ্কটি দিয়েছেন তা আমাকে খুব সাহায্য করেছে: akadia.com/services/ssh_test_certificate.html
লিওল

15

শুধুমাত্র জিনিস যে এই অবস্থায় আমার জন্য কাজ ছিল স্ব-নির্মিত openssl.cnf ফাইল

এই অনুশীলনের জন্য প্রয়োজনীয় বেসিকগুলি এখানে রয়েছে (প্রয়োজনীয় হিসাবে সম্পাদনা করুন):

#
# OpenSSL configuration file.
#

# Establish working directory.

dir                         = .

[ ca ]
default_ca                  = CA_default

[ CA_default ]
serial                      = $dir/serial
database                    = $dir/certindex.txt
new_certs_dir               = $dir/certs
certificate                 = $dir/cacert.pem
private_key                 = $dir/private/cakey.pem
default_days                = 365
default_md                  = md5
preserve                    = no
email_in_dn                 = no
nameopt                     = default_ca
certopt                     = default_ca
policy                      = policy_match

[ policy_match ]
countryName                 = match
stateOrProvinceName         = match
organizationName            = match
organizationalUnitName      = optional
commonName                  = supplied
emailAddress                = optional

[ req ]
default_bits                = 1024          # Size of keys
default_keyfile             = key.pem       # name of generated keys
default_md                  = md5               # message digest algorithm
string_mask                 = nombstr       # permitted characters
distinguished_name          = req_distinguished_name
req_extensions              = v3_req

[ req_distinguished_name ]
# Variable name             Prompt string
#-------------------------    ----------------------------------
0.organizationName          = Organization Name (company)
organizationalUnitName      = Organizational Unit Name (department, division)
emailAddress                = Email Address
emailAddress_max            = 40
localityName                = Locality Name (city, district)
stateOrProvinceName         = State or Province Name (full name)
countryName                 = Country Name (2 letter code)
countryName_min             = 2
countryName_max             = 2
commonName                  = Common Name (hostname, IP, or your name)
commonName_max              = 64

# Default values for the above, for consistency and less typing.
# Variable name             Value
#------------------------     ------------------------------
0.organizationName_default  = My Company
localityName_default        = My Town
stateOrProvinceName_default = State or Providence
countryName_default         = US

[ v3_ca ]
basicConstraints            = CA:TRUE
subjectKeyIdentifier        = hash
authorityKeyIdentifier      = keyid:always,issuer:always

[ v3_req ]
basicConstraints            = CA:FALSE
subjectKeyIdentifier        = hash

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


1
এখানে তালিকাভুক্ত অন্যান্য প্রতিটি সমাধান চেষ্টা করেও, এটি আমার জন্য কাজ করেছে। একবার কনফিগারেশন তৈরি হয়ে গেলে (ওপেনসেল.এক্সি ডিরেক্টরিতে) আপনি তখন চালাতে পারেনopenssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365 -config openssl.cnf
জিম্বো

12

ওপেনএসএসএল ইনস্টল করার পরে আপনার কম্পিউটারটি পুনরায় চালু করতে হবে এবং ব্যবহার করতে হবে Run As Administrator। তারপরে এর কাজগুলি।


11

GnuWin32 সরঞ্জামের সাহায্যে আমি openssl.cnf সি এর অধীনে পেয়েছি: nu gnuwin32 \ ভাগ

set OPENSSL_CONF=C:\gnuwin32\share\openssl.cnf

9

উইন্ডোজ 8 এ আমার জন্য, আমি কেবল ওপেনএসএল সিএনএফ ফাইলটি খুঁজে পেয়েছি এবং এটি সি ড্রাইভে অনুলিপি করেছি। তারপর:

openssl req -new -key server.key -out server.csr -config C:\openssl.cnf

নিখুঁতভাবে কাজ করেছেন।



4

আমার ক্ষেত্রে, অপশনটি ব্যবহার করে আমাকে কমান্ডটিতে ম্যানুয়ালি ওপেনএসএল সিএনএফ ফাইলের পথ নির্ধারণ করতে হবে config। সুতরাং আদেশ

openssl req -x509 -config "C:\Users\sk\Downloads\openssl-0.9.8k_X64\openssl.cnf" -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 900

3

আপনি যদি Win32 ওপেনএসএসএল v1.1.0g ব্যবহার করেন তবে এই পরিবেশটি পরিবর্তনশীল সেট আপ করুন:

set OPENSSL_CONF=C:\OpenSSL-Win32\bin\cnf\openssl.cnf

সঙ্গে এই কমান্ড চালানোর আগে "server.key" সফল তৈরি "server.csr" :

openssl req -new -key server.key -out server.csr

1

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

Https://www.openssl.org/docs/manmaster/man5/config.html,I থেকে সরাসরি উদ্ধৃতি:

"ওপেনএসএল লাইব্রেরি কনফিগারেশন

অ্যাপ্লিকেশনগুলি স্বয়ংক্রিয়ভাবে মাস্টার ওপেনএসএসএল কনফিগারেশন ফাইল, বা বিকল্পভাবে বিকল্প কনফিগারেশন ফাইল ব্যবহার করে ওপেনএসএসএল-এর কয়েকটি দিক স্বয়ংক্রিয়ভাবে কনফিগার করতে পারে। ওপেনসেল ইউটিলিটিতে এই কার্যকারিতাটি অন্তর্ভুক্ত রয়েছে: বিকল্প কনফিগারেশন ফাইল ব্যবহারের জন্য সাব কমান্ডে কোনও বিকল্প ব্যবহার না করা হলে যে কোনও সাব কমান্ড মাস্টার ওপেনএসএসএল কনফিগারেশন ফাইল ব্যবহার করে।

লাইব্রেরি কনফিগারেশন সক্ষম করতে ডিফল্ট বিভাগে একটি উপযুক্ত লাইন থাকা দরকার যা মূল কনফিগারেশন বিভাগকে নির্দেশ করে। ডিফল্ট নাম ওপেনএসএল_কনফ যা ওপেনসেল ইউটিলিটি দ্বারা ব্যবহৃত হয়। অন্যান্য অ্যাপ্লিকেশনগুলি বিকল্প নাম যেমন মায়াপ্লিকেশন_কনফ ব্যবহার করতে পারে। সমস্ত লাইব্রেরি কনফিগারেশন লাইন কনফিগারেশন ফাইলের শুরুতে ডিফল্ট বিভাগে উপস্থিত হয়।

কনফিগারেশন বিভাগে নামের মান জোড়াগুলির একটি সেট থাকা উচিত যা নির্দিষ্ট মডিউল কনফিগারেশন তথ্য ধারণ করে। নামটি কনফিগারেশন মডিউলটির নাম উপস্থাপন করে। মানটির অর্থ মডিউল নির্দিষ্ট it যেমন: "

সুতরাং এটি প্রদর্শিত হবে যাতে আপনার ব্যবহারের জন্য নির্দিষ্ট অন্যান্য এন্ট্রিগুলির সাথে আপনার বিশিষ্ট নাম (ডিএন) অনুসারে ওপেনএসএল সিএনএফ কনফিগার করতে হবে।

এখানে এমন টেম্পলেট ফাইল রয়েছে যা থেকে আপনি আপনার নির্দিষ্ট এন্ট্রি সহ ওপেনএসএল সিএনএফ তৈরি করতে পারেন।

একটি অ্যাপ্লিকেশনটিতে একটি ডেমো ইনস্টলেশন রয়েছে যা একটি ডেমো .cnf ফাইল অন্তর্ভুক্ত করে।

অতিরিক্তভাবে, যদি আপনার প্রোগ্রামক্রমে .cnf ফাইল অ্যাক্সেস করতে হয় তবে আপনি উপযুক্ত হেডার --openssl / conf.h-- অন্তর্ভুক্ত করতে পারেন এবং আপনার .cnf ফাইলগুলি পার্স করে ব্যবহার করতে পারেন

CONF_modules_load_file(const char *filename, const char *appname,
                            unsigned long flags);

"CONF_modules_load_file" এর জন্য এখানে ডক্স রয়েছে;


0

কল করার আগে কল করার আগে আমার জন্য পরিবর্তনশীল রাখুন:

OPENSSL_CONF=/usr/ssl/openssl.cnf openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 365

0

উইন্ডোজ পাওয়ারশেল এ:

$env:OPENSSL_CONF = "${env:ProgramFiles}\OpenSSL-Win64\bin\openssl.cfg"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.