Yup, nó hoạt động tốt; cơ quan cấp chứng chỉ Windows không có vấn đề gì về việc chạy như một cấp dưới của root không phải Windows.
Đã thử nghiệm với một gốc OpenSSL và cấp dưới Windows 2008 R2 trong chế độ Enterprise.
Một vài điều để chơi tốt với những gì MS CA mong đợi trong cấu hình OpenSSL:
Các vị trí AIA và CDP hợp lệ nên áp dụng cho chứng chỉ gốc, trong phần được định cấu hình bởi thuộc x509_extensions
tính của [req]
phần dành cho root tự ký. Một cái gì đó dọc theo những dòng này:
authorityInfoAccess = caIssuers;URI:http://test-rootca.test.local/root.pem
crlDistributionPoints = URI:http://test-rootca.test.local/root.crl
Một cấu hình OpenSSL nhất định có thể không cho phép các CA cấp dưới theo mặc định. Thay đổi điều đó đối với các yêu cầu đã ký (tất nhiên đảm bảo rằng điều này không phù hợp với các yêu cầu không phải là CA, tất nhiên). Điều này sẽ nằm trong phần được cấu hình bởi thuộc x509_extensions
tính của [ca]
phần:
basicConstraints=CA:TRUE
certificatePolicies=2.5.29.32.0
Vì vậy, chúng tôi sẽ làm một CA để kiểm tra.
Tạo gốc của bạn:
openssl req -new -x509 -keyout /etc/ssl/private/root.key -out /etc/ssl/certs/root.pem -nodes -extensions v3_ca
Fiddle với cấu hình của bạn và tạo các tập tin và thư mục cần thiết trong [ca]
mục phần cấu hình OpenSSL của bạn.
Tất cả được thiết lập để có được phía Microsoft của mọi thứ đang diễn ra; tạo một CA cấp dưới Windows bằng cách ký thủ công.
Tải yêu cầu chứng chỉ lên máy chủ OpenSSL. Trong khi bạn đang ở đó, tải về chứng chỉ gốc. Nhập nó vào cửa hàng gốc đáng tin cậy - của máy tính, không phải người dùng của bạn!
Cấp giấy chứng nhận cấp dưới:
openssl ca -in test-subca.req
(you might need to specify a permissive policy manually with -policy, check your config)
Nếu điều đó không hoạt động, CA của bạn có thể có vấn đề với cấu hình - thư mục certs mới, tệp chỉ mục, tệp nối tiếp, v.v. Kiểm tra thông báo lỗi.
Nếu nó đã đi, thì đó là nó. Nếu bạn chưa có, hãy tạo CRL và đặt nó vào CDP mà bạn đã cấu hình ở trên; Tôi vừa cài đặt Apache và gây nhiễu nó trong webroot:
openssl ca -gencrl -out /var/www/root.crl
Và đặt chứng chỉ của bạn ở vị trí AIA, nếu chưa có:
cp /etc/ssl/certs/root.pem /var/www/root.pem
Tải xuống chứng chỉ cấp dưới mới được cấp và cài đặt nó vào CA với phần đính kèm MMC của Tổ chức chứng nhận. Nó sẽ nắm bắt về bất kỳ vấn đề nào với sự tin tưởng hoặc xác nhận, nhưng nó không phản đối đạo đức đối với việc thực hiện nó.
Kết quả cuối cùng; một Windows CA hoạt động mà không có khiếu nại từ snap-in Enterprise PKI, với một OpenSSL Generated Certificate
thuộc tính trong các thuộc tính.