Cài đặt các thư viện cần thiết:
yum install -y gcc-c++
yum install -y openssl-devel db4 db4-devel mysql-server mysql-devel perl-XML-Parser httpd
Kiểm tra hostname và đổi thành
: subca.tvu.local
#vim /etc/sysconfig/network
#
Restart sever.Tạo người dùng mới phục vụ quá trình biên dịch và cấu hình openca
groupadd openca
useradd -g openca -u
1201 openca
Tạo database cho openca:
Start mysql:
# service mysqld start
# chkconfig mysqld on
Đổi password tài khoản root của mysql:
mysqladmin –u root –p 1063467
mysql -u root -p
mysql> show databases;
mysql>create database dbsubca;
mysql> grant all privileges on *.* to 'openca'@'localhost' identified by '1063467';
mysql -u root -p
mysql> show databases;
mysql>create database dbsubca;
mysql> grant all privileges on *.* to 'openca'@'localhost' identified by '1063467';
mysql> FLUSH PRIVILEGES;
mysql> exit;
Sửa file host /etc/hosts thêm vào cuối file như sau
diachiipcuamayban diachi.local diachi
Ví dụ : 192.168.1.2 tvuca.local tvuca
Download openca-tool:
wget http://ftp.openca.org/openca/openca-tools/releases/current/binaries/linux/CentOS5.5-i686/openca-tools-1.3.0-1.el5.i386.rpm
Hoặc
wget https://www.dropbox.com/s/b3xlka95tuxrx02/openca-tools-1.3.0-1.el5.i386.rpm
Cài đặt: rpm -Uvh openca-tools-1.3.0-1.el5.i386.rpm
Download openca-base:
wget
http://ftp.openca.org/openca-base/releases/current/sources/openca-base-1.1.1.tar.gz
Hoặc: wget https://www.dropbox.com/s/8m00w36n5ou85k7/openca-base-1.1.1.tar.gz
Giải nén openca-base:
tar -xvf openca-base-1.1.1.tar.gz
cd openca-base-1.1.1
Tiến hành build:
Hoặc: wget https://www.dropbox.com/s/8m00w36n5ou85k7/openca-base-1.1.1.tar.gz
Giải nén openca-base:
tar -xvf openca-base-1.1.1.tar.gz
cd openca-base-1.1.1
Tiến hành build:
./configure --enable-oscpd
--enable-scep --with-openca-user=openca --with-openca-group=openca
–with-web-host=$(hostname) --with-httpd-user=apache --with-httpd-group=apache
--with-httpd-fs-prefix=/usr/local/OpenCA/www --with-module-prefix=/usr/local/OpenCA/perlmods
# ./configure --prefix=/opt/openca \
--with-ca-oganization="TVUSUBCA Labs" \
--with-httpd-fs-prefix=/var/www \
--with-httpd-main-dir=pki \
--with-db-name=dbsubca \
--with-db-host=localhost \
--with-db-user=openca \
--with-db-passwd=xxxxxxx \
--with--db-type=mysql \
--with--db-service-mail-account=subca@gmail.com \
--enable-oscpd --enable-scep
OpenCA sẽ được cài đặt vào /opt/openca. Sử dụng cơ sở dữ liệu MySQL với
database openca, user là openca password xxxxxxx. Web quản trị được lưu
tại thư mục /var/www/pki
Tiếp theo là biên dịch
OpenCA sẽ được cài đặt vào /opt/openca. Sử dụng cơ sở dữ liệu MySQL với
database openca, user là openca password xxxxxxx. Web quản trị được lưu
tại thư mục /var/www/pki
Tiếp theo là biên dịch
# make
Hoàn tất cài đặt với lệnh make install. # make install-offline
Khởi động lại web server:
# service httpd restart
Lưu ý là trong openca 1.1.1 sẽ có lỗi, vì vậy cần tiên hành fix lỗi này.
# service httpd restart
Lưu ý là trong openca 1.1.1 sẽ có lỗi, vì vậy cần tiên hành fix lỗi này.
Ghi đè 2 file này:
# cp User.pm /opt/openca/lib/openca/perl_modules/perl5/OpenCA/
# cp initServer /opt/openca/lib/openca/functions/
Chọn yes để thay thế file cũ.
Khởi động lại web server:
# service httpd restart
Hoàn tất cài đặt. Tiếp theo là cấu hình cho OpenCA.
Di chuyển đến thư mục cấu hình CA
Ở đây sẽ cấu hình cho mọi máy có thể truy cập mà ko cần ssl
# cp User.pm /opt/openca/lib/openca/perl_modules/perl5/OpenCA/
# cp initServer /opt/openca/lib/openca/functions/
Chọn yes để thay thế file cũ.
Khởi động lại web server:
# service httpd restart
Hoàn tất cài đặt. Tiếp theo là cấu hình cho OpenCA.
Di chuyển đến thư mục cấu hình CA
Ở đây sẽ cấu hình cho mọi máy có thể truy cập mà ko cần ssl
cd /opt/openca/etc/openca
Chúng ta sẽ sữa đổi các file:
·
access_control/node.xml.template
·
access_control/ca.xml.template
·
access_control/ra.xml.template
·
config.xml
#vim
access_control/node.xml.template
Trong thẻ:
<channel>
..
<protocol>ssl</protocol> ----> <protocol>.*</protocol>
..
<symmetric_keylength>128</symmetric_keylength> ----> <symmetric_keylength>0</symmetric_keylength>
..
</channel>
Lưu lại.
Tiếp theo sữa file: access_control/ra.xml.template
# vim access_control/ra.xml.template
<channel>
..
<protocol>ssl</protocol> ----> <protocol>.*</protocol>
..
<symmetric_keylength>128</symmetric_keylength> ----> <symmetric_keylength>0</symmetric_keylength>
..
</channel>
Lưu lại.
Tiếp theo sữa file /opt/openca/etc/openca/config.xml
vim config.xml
:$ để đến cuối file
<name>dataexchange_device_up</name>
<value>/dev/fd0</value> ---> <value>/tmp/openca</value>
<name>dataexchange_device_down</name>
<value>/dev/fd0</value> ---> <value>/tmp/openca</value>
Lưu lại.
Tiếp theo sửa file: openssl/openssl.cnf.template
# vim openssl/openssl.cnf.template
Trong [req] và [CA_defaut] tìm dòng:
default_md = sha256 ---> đổi thành default_md = sha1
Lưu lại.
Để các sửa đổi có hiệu lực:
# ./configure_etc.sh
Tạo symlink cho openca:
#cd /usr/sbin/
#ln -s /opt/openca/etc/init.d/openca openca
Khởi động openca:
#cd ~
#openca start
===> Nhập password admin:
Quá trình cài đặt SUBCA đã xong, bạn kiểm tra kết quả bằng cách gõ vào trình duyệt: http://diachimaycairooca/pki
Accout là admin và pass lúc bạn start openca trên.
<channel>
..
<protocol>ssl</protocol> ----> <protocol>.*</protocol>
..
<symmetric_keylength>128</symmetric_keylength> ----> <symmetric_keylength>0</symmetric_keylength>
..
</channel>
Lưu lại.
Tiếp theo sữa file: access_control/ra.xml.template
# vim access_control/ra.xml.template
<channel>
..
<protocol>ssl</protocol> ----> <protocol>.*</protocol>
..
<symmetric_keylength>128</symmetric_keylength> ----> <symmetric_keylength>0</symmetric_keylength>
..
</channel>
Lưu lại.
Tiếp theo sữa file /opt/openca/etc/openca/config.xml
vim config.xml
:$ để đến cuối file
<name>dataexchange_device_up</name>
<value>/dev/fd0</value> ---> <value>/tmp/openca</value>
<name>dataexchange_device_down</name>
<value>/dev/fd0</value> ---> <value>/tmp/openca</value>
Lưu lại.
Tiếp theo sửa file: openssl/openssl.cnf.template
# vim openssl/openssl.cnf.template
Trong [req] và [CA_defaut] tìm dòng:
default_md = sha256 ---> đổi thành default_md = sha1
Lưu lại.
Để các sửa đổi có hiệu lực:
# ./configure_etc.sh
Tạo symlink cho openca:
#cd /usr/sbin/
#ln -s /opt/openca/etc/init.d/openca openca
Khởi động openca:
#cd ~
#openca start
===> Nhập password admin:
Quá trình cài đặt SUBCA đã xong, bạn kiểm tra kết quả bằng cách gõ vào trình duyệt: http://diachimaycairooca/pki
Accout là admin và pass lúc bạn start openca trên.
Để tạo chứng chỉ cho SubCA, chúng ta cũng phải
khởi tạo cơ sở dữ liệu, tạo khóa bí mật cho SubCA. Tiếp đó khởi tạo 1 yêu cầu cấp
phát chứng chỉ. Do đây chỉ là SubCA nên chúng ta không thể tự ký vào yêu cầu như
RootCA. Yêu cầu này phải được gửi sang cho RootCA, sau khi được sự đồng ý phát hành
chứng chỉ của RootCA, thì SubCA mới có thể sử dụng chứng chỉ đó để ký và phát hành
các chứng chỉ khác cho người dùng.
Quá trình gửi yêu cầu cấp phát chứng chỉ của
SubCA sang RootCA được tiến hành như sau:
SubCA khởi tạo yêu cầu cấp phát chứng chỉ. Sau
đó chọn Export CA Certificate Request, để xuất yêu cầu này ra thành 1 file nén
theo định dạng tar (mặc định được lưu ở /tmp/openca_local). Chúng ta giải nén
file openca_local này ra được 1 file careq.pem, đây là file yêu cầu cấp phát chứng
chỉ của SubCA theo định dạng PEM (Privacy Enhanced Mail).
File này được gửi sang cho RootCA, người quản trị
sẽ khởi tạo 1 yêu cầu cấp phát chứng chỉ dựa theo file careq.pem của SubCA. Sau
đó RootCA có nhiệm vụ ký và cấp phát chứng chỉ cho SubCA. Người quản trị sẽ lấy
chứng chỉ của SubCA về theo định dạng PEM (subcacert.pem). Và gửi lại cho SubCA
file subcacert.pem
Bên SubCA nhận được chứng chỉ do RootCA phát hành.
Chúng ta sẽ phải tạo ra 1 file nén của chứng chỉ với tên gọi là openca_local sau đó up lên thư mục /tmp/. Tiếp đó về giao diện khởi tạo CA, chọn Import CA certificate (approved by Root CA) để import chứng chỉ của
SubCA vào hệ thống.
Cuối cùng là Rebuild CA Chain.
Chúc thành công.
Importing CA Certificate Failed from /tmp/openca_local!
ReplyDeleteChào anh... Khi em import cer thì nó lại báo như thế này... Em không biết nguyên nhân tại sao cả