Name already in use

Помогите пожайлуста с установкой OpenCA-0.9.1 под FreeBSD 4.6-RELEASE

OpenSSL 0.9.7

Apache/2.0.42

perl 5.6.1


Я закоментировал строку  X509_STORE_set_flags(cert_store, vflags);

в файле /dist/CA/OpenCA-0.9.1/src/openca-sv/src/verify.c

хочу посмотреть что получиться дальше


#./make ca-install

installing common components because it is not a package build

make docs                src SUBTARGET=install-common

cd docs && make install-common

cd src && make install-common

make common SUBTARGET=install

cd common && make install

make etc         lib     var SUBTARGET=install

cd etc && make install

/usr/local/OpenCA/etc already exists, skipping configuration

cd lib && make install

make: don’t know how to make /usr/local/OpenCA/lib/cmds. Stop

*** Error code 2

Stop in /root/dist/CA/OpenCA-0.9.1/src/common.

*** Error code 1

Stop in /root/dist/CA/OpenCA-0.9.1/src/common.

*** Error code 1

Stop in /root/dist/CA/OpenCA-0.9.1/src.

*** Error code 1

Stop in /root/dist/CA/OpenCA-0.9.1/src.

*** Error code 1

Stop in /root/dist/CA/OpenCA-0.9.1.

*** Error code 1

Stop in /root/dist/CA/OpenCA-0.9.1.

*** Error code 1

Stop in /root/dist/CA/OpenCA-0.9.1.


This should be invoked on the ROOT CA.

It creates a directory with the crl, certs, newcerts and private folder.

It also initializes the index.db which stores information about the issued certs by the CA.

# Create the ROOT directory

# generate the private key

# write the private key in the private key folder

# create the self signed certificate of the CA as it is ROOT

# write the certificate in the certs folder

# create the serial file

# create the crl file

# create the index DB

# other commands should be run from the same directory in future

creates a CSR.

CN should be given. If no CN is given CN is generated as

Password should be given in bytes. Default is b»DEFAULT»

# create a certificate signing request for ROOT CA

Дополнительно:  Компьютер не видит джойстик – инструкция

# cerate the CSR

# write the private key in the private key folder

# write the csr in the csr folder

# create the serial file

# create the crl file

# create the index DB

ca_type can be ‘root’ or ‘intermediate’

if ca_type is root then the ca directory will contain a self signed certificate

if ca_type is intermediate then ca directory will contain a csr that can be signed by root using signReqCA function

creates a CA with the given name and password is set for the private key of CA.

subject_dict should have these values-

C — Country

ST — State or Province

L — Locality

O — Organization

OU — Organizational Unit

CN — Common Name

Common Names should never be same of any certificate under a CA.

‘Password should be at least 4 character long’

Открытый исходный код

OpenCA, официально OpenCA PKI Research Labs и ранее OpenCA Project — это PKI совместная работа по разработке надежного, полнофункционального открытого исходного кода готового центра сертификации внедрение наиболее часто используемых протоколов с полной криптографией. OpenCA основан на многих проектах с открытым исходным кодом; Среди них проекты OpenLDAP, OpenSSL и Apache.

Разработка проекта разделена на 2 основные задачи: изучение и уточнение схемы безопасности, которая гарантирует лучшую модель для использования в центре сертификации, и разработка программного обеспечения для простой настройки центра сертификации и управления им.

Разработка программного обеспечения в рамках проекта далее делится на следующие подпроекты:

  • OpenCA PKI, полнофункциональный пакет PKI.
  • LibPKI, библиотека для разработки приложений PKI.
  • OpenCA OCSPD, небольшой, надежный демон Online Certificate Status Protocol.
  • PRQPD Server, демон PKI Resource Query Protocol для использования вместе с Пакет PKI.
  • OpenCA-ng, проект следующего поколения, запланированный для реализации новых функций и преодоления ограничений текущего проекта.
from OpenCA import createCA, signReqCA, createCSR
createCA('root','ROOT','root-pass',{'CN':'FQDN_ROOT'})
createCA('int','INTERMEDIATE','inter-pass',{'CN':'FQDN_INETRMEDIATE'})

signReqCA('ROOT','INTERMEDIATE','root-pass','ca')

createCSR('USER','user-pass',{'CN':'FQDN_USER'})
createCSR('SERVER','server-pass',{'CN':'FQDN_SERVER'})

signReqCA('INTERMEDIATE','USER.csr.pem','inter-pass','usr')
signReqCA('INTERMEDIATE','SERVER.csr.pem','inter-pass','svr')

from OpenCA import Utils
Utils.verify_chain('ROOT/certs/ROOT.cert.pem',open('INTERMEDIATE/certs/INTERMEDIATE.cert.pem','rb').read()) # True

Utils.verify_chain('ROOT/certs/ROOT.cert.pem',open('USER.cert.pem','rb').read()) # False
Utils.verify_chain('ROOT/certs/ROOT.cert.pem',open('SERVER.cert.pem','rb').read()) # False
Utils.verify_chain('INTERMEDIATE/certs/INTERMEDIATE.cert.pem',open('USER.cert.pem','rb').read()) # False
Utils.verify_chain('INTERMEDIATE/certs/INTERMEDIATE.cert.pem',open('SERVER.cert.pem','rb').read()) # False

# End Certificates can only be verified using the chain of trust

Utils.verify_chain('INTERMEDIATE/certs/ROOT.INTERMEDIATE.chain.pem',open('USER.cert.pem','rb').read()) # True
Utils.verify_chain('INTERMEDIATE/certs/ROOT.INTERMEDIATE.chain.pem',open('SERVER.cert.pem','rb').read()) # True
from OpenCA import createCA
createCA('root','ROOT_NAME','ROOT_PASS', {'CN':'FQDN.Goes.Here'})
from OpenCA import createCA, signReqCA

createCA('int', 'INTERMEDIATE_NAME', 'INT_PASS', {'CN':'FQDN.Should.Not.Be.Same.As.Of.Root.CA'})
signReqCA('PATH_TO_ROOT_CA_FOLDER','PATH_TO_INTERMEDIATE_CA_FOLDER','ROOT_PASS', csr_type = 'ca' )

signReqCA saves the certificate of Intermediate CA in ROOT CA’s newcerts directory and enrolls it in index.db.
return value of signReqCA is the certificate bytes of Intermediate CA’s generated certificate.

Users/server generates a PKey and CSR and hands it over to Intermediate CA.

	from OpenCA import createCSR
	createCSR('User','User_password',{'CN':'USER_FQDN'})

It will create two files in the current directory -

	1.User.private.pem
	2.User.csr.pem

create End user certificate on Intermediate CA-

	from OpenCA import signReqCA
	signReqCA('PATH_TO_INTERMEDIATE_CA_FOLDER','PATH_TO_CSR_OF_USER_OR_SERVER','INT_PASS', csr_type = <'usr' or 'svr'> )
from OpenCA import createCA, signReqCA, createCSR
createCA('root','ROOT','root-pass',{'CN':'FQDN_ROOT'})
createCA('int','INTERMEDIATE','inter-pass',{'CN':'FQDN_INETRMEDIATE'})

signReqCA('ROOT','INTERMEDIATE','root-pass','ca')

createCSR('USER','user-pass',{'CN':'FQDN_USER'})
createCSR('SERVER','server-pass',{'CN':'FQDN_SERVER'})

signReqCA('INTERMEDIATE','USER.csr.pem','inter-pass','usr')
signReqCA('INTERMEDIATE','SERVER.csr.pem','inter-pass','svr')

from OpenCA import Utils
Utils.verify_chain('ROOT/certs/ROOT.cert.pem',open('INTERMEDIATE/certs/INTERMEDIATE.cert.pem','rb').read()) # True

Utils.verify_chain('ROOT/certs/ROOT.cert.pem',open('USER.cert.pem','rb').read()) # False
Utils.verify_chain('ROOT/certs/ROOT.cert.pem',open('SERVER.cert.pem','rb').read()) # False
Utils.verify_chain('INTERMEDIATE/certs/INTERMEDIATE.cert.pem',open('USER.cert.pem','rb').read()) # False
Utils.verify_chain('INTERMEDIATE/certs/INTERMEDIATE.cert.pem',open('SERVER.cert.pem','rb').read()) # False

# End Certificates can only be verified using the chain of trust

Utils.verify_chain('INTERMEDIATE/certs/ROOT.INTERMEDIATE.chain.pem',open('USER.cert.pem','rb').read()) # True
Utils.verify_chain('INTERMEDIATE/certs/ROOT.INTERMEDIATE.chain.pem',open('SERVER.cert.pem','rb').read()) # True
from OpenCA import createCA
createCA('root','ROOT_NAME','ROOT_PASS', {'CN':'FQDN.Goes.Here'})
from OpenCA import createCA, signReqCA

createCA('int', 'INTERMEDIATE_NAME', 'INT_PASS', {'CN':'FQDN.Should.Not.Be.Same.As.Of.Root.CA'})
signReqCA('PATH_TO_ROOT_CA_FOLDER','PATH_TO_INTERMEDIATE_CA_FOLDER','ROOT_PASS', csr_type = 'ca' )

signReqCA saves the certificate of Intermediate CA in ROOT CA’s newcerts directory and enrolls it in index.db.
return value of signReqCA is the certificate bytes of Intermediate CA’s generated certificate.

Users/server generates a PKey and CSR and hands it over to Intermediate CA.

	from OpenCA import createCSR
	createCSR('User','User_password',{'CN':'USER_FQDN'})

It will create two files in the current directory -

	1.User.private.pem
	2.User.csr.pem

create End user certificate on Intermediate CA-

	from OpenCA import signReqCA
	signReqCA('PATH_TO_INTERMEDIATE_CA_FOLDER','PATH_TO_CSR_OF_USER_OR_SERVER','INT_PASS', csr_type = <'usr' or 'svr'> )

OpenCA PKI

Проблема с инфраструктурами открытых ключей (PKI) заключается в том, что большинство приложений можно защитить с помощью сертификатов и ключей, но это сложно а иногда и дорого устанавливать PKI, потому что гибкое программное обеспечение центра доверия стоит дорого.

OpenCA появился в 1999 году. Первая идея состояла из трех основных частей — веб-интерфейса Perl, бэкэнда OpenSSL для криптографических операций и базы данных. Эта простая концепция до сих пор остается девизом разработчиков. Практически все операции можно выполнять через веб-интерфейс. Он имеет шесть предварительно сконфигурированных интерфейсов, и в зависимости от потребности из них можно создать гораздо больше. Криптографический бэкэнд — OpenSSL, что никоим образом не является недостатком. OpenCA нацелена на создание организационной инфраструктуры для PKI. В базах данных OpenCA хранится вся необходимая информация о криптографических объектах пользователей, таких как запросы на подпись сертификатов (CSR), сертификаты, запросы на отзыв сертификата (CRR) и списки отзыва сертификатов (CRL).

Возможности OpenCA PKI

Сегодня OpenCa поддерживает следующие элементы: (это неполный список, чтобы вы могли понять, насколько сложна тема):

OpenCA разработан для распределенной инфраструктуры. Он может не только обрабатывать автономный CA и онлайн-RA, но с его помощью вы можете построить целую иерархию с тремя или более уровнями. OpenCA — это не просто небольшое решение для малых и средних исследовательских центров. Цель состоит в том, чтобы обеспечить максимальную гибкость для крупных организаций, таких как университеты, сети и глобальные компании.

Внешние ссылки

  • OpenCA
  • Инструкции по установке CentOS 5/6 OpenCA
Оцените статью
Master Hi-technology
Добавить комментарий