Sun Java logo     ��һ��      Ŀ¼      ����      ��һ��     

Sun logo
Sun Java(TM) System Directory Server 5 2004Q2 ����ָ�� 

�� 11 ��
������֤�ͼ���

Directory Server ֧�ֶ����ṩ��ȫ���ŵ�����ͨѶ�Ļ��ơ�LDAPS �������ڰ�ȫ�׽��ֲ� (SSL) ���ϵı�׼ LDAP Э�飬���ڼ�����ݲ�������ʹ��֤�������֤��

Directory Server ��֧�������㰲ȫ�� (StartTLS) )չ�����Ա���ԭ4δ���ܵ� LDAP l�������� TLS��

Directory Server ���ڻ�֧�ּ���֤�Ͱ�ȫ�� (SASL) �ϵ��ۺϰ�ȫ����Ӧ�ó���ӿ� (GSSAPI)��������Ϳ����� Solaris ����ϵͳ��ʹ�� Kerberos Version 5 ��ȫЭ�顣Ȼ�󣬱�ʶӳ����ƻὫ Kerberos Principal ��Ŀ¼�еı�ʶ���j��

�й�����ȫ����Ϣ������� NSS Web վ�㣬��ַΪ��

http://www.mozilla.org/projects/security/pki/nss/

���°�����С�ڣ�


Directory Server �е� SSL ���

��ȫ�׽��ֲ� (SSL) �ṩ����ͨѶ�Լ� Directory Server ����ͻ���֮��Ŀ�ѡ��֤���񡣿���Ϊ LDAP �� DSML-over-HTTP }��Э������ SSL���Ӷ�Ϊ���еķ�����l���ṩ��ȫ�ԡ����⣬�������ø��ƻ��ƺ�t�Ӻ�׺���ƣ���ʹ�� SSL ��֤������֮��İ�ȫͨѶ��

���ü���֤���� DN �Ϳ��ʹ�� SSL ���Լ������з����w����������Լ��������͵���ݣ��Ա�֤�����Ժ���������ԡ��ͻ������ѡ��ʹ��֤��� Directory Server ������֤����ͨ�����֤�Ͱ�ȫ�� (SASL) �Ե���ȫ���ƽ�����֤������֤�����֤ʹ�ù�����Կ���ܷ������Է�ֹαװ�ͼ�ð�ͻ���������

Directory Server �����ڲ�ͬ�Ķ˿�ͬʱʹ�� SSL �ͷ� SSL ͨѶ��Ϊ�˰�ȫ�����Ҳ���Խ�����ͨѶ�������ڰ�ȫ�˿ڡ��ͻ�����֤Ҳ�ǿ����õģ�������DZ���ģ����߽�ʹ����4ȷ��Ҫʵʩ�İ�ȫ����

���� SSL Ҳ������֧�� Start TLS )չ����Start TLS )չ�����ṩ����ͨ LDAP l���ϵİ�ȫ�ԡ��ͻ�����԰��w� SSL �˿ڣ�Ȼ��ʹ�ô���㰲ȫ�� (TLS)Э���� SSL l�ӡ�Start TLS ����Ϊ�ͻ����ṩ�˸�������ԣ������ڼ򻯶˿ڷ��䡣

SSL �ṩ�ļ��ܻ��ƻ������������Լ��ܡ����� SSL �󣬿����ں�׺���������Լ��ܣ��Ա�����ݴ洢��Ŀ¼��ʱΪ���ṩ�������й���ϸ��Ϣ���������Ϊ����ֵ���ܡ���

Ҫ��ö���İ�ȫ�ԣ����Ը�ݿͻ���� SSL ��֤���ʹ������Ŀ¼���ݵķ��ʿ��ƽ������á����Զ�����ʿ���ָ�� (ACI)������Ҫ�ض�����֤�������Ӷ�ȷ����ݽ���ͨ��һ��ȫͨ�=��д��䡣�й���ϸ��Ϣ����������󶨹�����

�й� SSL��������ȫ�Ժ�֤�������˵���(����� Administration Server ������ SSL��������ġ�Administration Server Administration Guide���е� Chapter 9 "Using SSL and TLS with Sun Java System Servers"��


���� SSL �IJ���ժҪ

���µĺ���С�ھ��(���²��裺

  1. Ϊ��� Directory Server ��ò���װ֤�飬���� Directory Server ����Ϊ����֤��䷢���֤�顣�˹�̰�(��
    1. ��Ҫʱ����֤����ݿ⡣
    2. ��ɲ�����֤�����󣬽���ӷ��������}��ṩ������֤���֤��䷢��
    3. �ڷ������а�װ�µ�֤�顣
    4. ����֤��䷢����䷢������֤�顣
  2. ��Ŀ¼�м������ SSL����( LDAP �� DSML ����İ�ȫ�˿ڡ����������� Directory Server Console ��ʹ�� SSL ���ʷ�����
  3. ������ѡ��Ϊ����һ�����ͻ�����֤�������÷�����
    1. Ĭ�ϵĻ���֤�����֤��
    2. SASL �ϵ� DIGEST_MD5 ��֤���ơ�
    3. ����ʹ�� Kerberos V5 ��ȫ���Ƶ� SASL �ϵ� GSSAPI ��֤��
  4. �Կͻ���������ã��Ա����� Directory Server ͨѶʱʹ�� SSL����(Ҫʹ�õ���һ��ѡ��֤���ơ�

Ҳ����ʹ�� certutil ����ִ������ijЩ���裬�Ա�ͨ��������4����֤�顣SUNWtlsu ��������ṩ�д˹��ߡ�


��ò���װ������֤��

���ڽ�����δ���֤����ݿ⡢��ò���װ���� Directory Server ��֤�飬�Լ���ν� Directory Server ����Ϊ����֤��䷢�� (CA) ��֤�顣

����֤����ݿ�

��һ���ڷ����������� SSL ʱ������Ϊ��ȫ�豸���ÿ�����δʹ���ⲿӲ����ȫ�豸�����ڲ���ȫ�豸���Ǵ洢�������ļ��е�֤�����Կ��ݿ⣺

ServerRoot/alias/slapd-server ID-cert8.db
ServerRoot/alias/slapd-server ID-key3.db

��� server ID ���д��ĸ�������ʹ������������в��贴��֤����ݿ⡣

ʹ�ÿ���̨

ʹ�ÿ���̨ʱ���ڵ�һ�ε���֤�������Ի���ʱ���������Զ�����֤����ݿ��ļ���

  1. �� Directory Server Console �Ķ���������ѡ��ϣ��������֤�顱��ť�����ߣ���ʾ������ѡ����ڡ�����̨��>����ȫ�ԡ��˵���ѡ�񡰹���֤�顱�
  2. �������Զ�����֤�����Կ��ݿ⣬��Ҫ����Ϊ��ȫ�豸���ÿ���˿�������������д洢��֤���ר����Կ������}�ο���������ȷ�ϣ�Ȼ�󵥻�ȷ������

ʹ��������

ͨ�������д���֤����ݿ��ļ�ʱ������ʹ�����沽������ʾ��·�����ļ���ǰ׺�����������Ϳ����ҵ����ǡ�

  1. �ڷ���������ϣ���ʹ�����������֤����ݿ⣺
  2. certutil -N -d ServerRoot/alias -P slapd-LCserverID

    ���� LCserverID Ϊȫ��ʹ��Сд��ĸ�ķ�������ơ�

    �˹��߽���ʾ���������4����֤�����Կ��

���֤������

ʹ�����в���֮һ������� PEM ��ʽ�� PKCS #10 ֤������PEM �� RFC1421 ��1424 (http://www.ietf.org/rfc/rfc1421.txt) ָ���ı�����ǿ�ʼ���ʽ�����ڱ�ʾ�� US-ASCII �ַ���ʾ�� base64 �����֤��������������ݽ�����������ʾ��

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBrjCCARcCAQAwbjELMAkGA1UBhMCVXMxEzARBgNVBAgTCkNBElGT1JOSUExLD
AqBgVBAoTI25ldHNjYXBlIGNvb11bmljYXRpb25zIGNvcnBvcmF0aWuMRwwGgYDV
QQDExNtZWxsb24umV0c2NhcGUuY29tMIGfMA0GCSqGSIb3DQEBAUAA4GNADCBiQK
BgCwAbskGh6SKYOgHy+UCSLnm3ok3X3u83Us7u0EfgSLR0f+K41eNqqWRftGR83e
mqPLDOf0ZLTLjVGJaHJn4l1gG+JDf/n/zMyahxtV7+T8GOFFigFfuxJaxMjr2j7I
vELlxQ4IfZgwqCm4qQecv3G+N9YdbjveMVXW0v4XwIDAQABAAwDQYJKoZIhvcNAQ
EEBQADgYEAZyZAm8UmP9PQYwNy4Pmypk79t2nvzKbwKVb97G+MT/gw1pLRsuBoKi
nMfLgKp1Q38K5Py2VGW1E47/rhm3yVQrIiwV+Z8Lcc=
-----END NEW CERTIFICATE REQUEST-----

ʹ�ÿ���̨

  1. �� Directory Server Console �Ķ���������ѡ��ϣ��������֤�顱��ť�����ߣ���ʾ������ѡ����ڡ�����̨��>����ȫ�ԡ��˵���ѡ�񡰹���֤�顱�
  2. ��ʾ������֤�顱�Ի���

  3. ѡ�񡰷�����֤�顱ѡ������������󡱰�ť��
  4. ���֡�֤�������򵼡���

  5. ����Ѿ���װ��һ������������� CA ֱ�ӽ���ͨѶ�IJ���������ڿ���ѡ��˲�������򣬱���ͨ������ʼ��� Web վ�㴫����ɵ��������ֶ�����֤�顣������һ�����Լ���
  6. �ڿհ��ı��ֶ������롰������Ϣ����
  7. ��������ơ� ���� Directory Server ����ȫ�޶���������������� DNS ������ʹ�õ���ƣ����磬east.example.com����

    ��֯��������˾���ķ�����ơ������ CA Ҫ�����ʾ����ƾ֤������ҵ���֤�ĸ���������֤����Ϣ��

    ��֯��λ������ѡ����������˾�ڲ����Ż�ҵ��λ����������ơ�

    λ�á�����ѡ����������˾���ڵij��е���ơ�

    ʡ��������������˾���ڵ�ʡ���������ȫ�����д����

    ��ң�����ѡ�����ң������˫�ַ���д��ISO ��ʽ�����9�Ĺ�ң��������Ϊ US����Directory Server Administration Reference���е� Chapter 5 "Directory Internationalization Reference"��һ�� ISO ��ң���������б?

    ������һ�����Լ���

  8. ���밲ȫ�豸�Ŀ��Ȼ�󵥻���һ�������˿�������������֤����ݿ⡱�����õġ�
  9. ѡ�񡰸��Ƶ�����塱�򡰱��浽�ļ����Ա����뷢�͵�֤��䷢���֤��������Ϣ��
  10. ������ɡ��˳�֤�������򵼡���

ʹ��������

  1. ��ʹ�����������������֤������
  2. certutil -R \
    -s "cn=serverName,ou=division,o=company,l=city,st=state,c=country" \
    -a -d ServerRoot/alias -P slapd-serverID-

    -s ѡ��ָ��������ķ�����֤��� DN��ͨ����֤��䷢���Ҫ���ʾ������ʾ���������ԣ��������ʶ��˷������������������� 4���Ի�ȡÿ�����Ե�˵��

  3. certutil ���߽���ʾ��������������Կ��ݿ����˿�������������֤����ݿ⡱�����õġ�Ȼ�󣬴˹��߽���� PEM �����ı���ʽ�� PKCS #10 ֤������

��װ������֤��

�������������IJ��轫�Ͻ��е���������֤��䷢�����磬���ܻ�Ҫ�����Ե����ʼ�����ʽ����֤�����󣬻���Ҳ����ͨ�� CA �� Web վ����������

����������󣬱���ȴ� CA �����֤�������Ӧ��������Ӧʱ�������ͬ�����磬��� CA ����˾�ڲ�������ֻ��Ҫһ��}��ʱ��Ϳ���Ӧ�������ѡ���˹�˾�ⲿ�� CA���������Ҫ�ü��ܵ�ʱ��4��Ӧ����

�� CA ������Ӧʱ��һ��Ҫ����Ϣ���浽һ���ı��ļ��С�PEM ��ʽ�� PKCS #11 ֤�齫����������ʾ��

-----BEGIN CERTIFICATE-----
MIICjCCAZugAwIBAgICCEEwDQYJKoZIhKqvcNAQFBQAwfDELMAkGA1UEBhMCVVMx
IzAhBgNVBAoGlBhbG9a2FWaWxsZGwSBXaWRnZXRzLCBJbmMuMR0wGwYDVQQLExRX
aWRnZXQgTW3FrZXJzICdSJyBVczEpMCcGAx1UEAxgVGVzdCBUXN0IFRlc3QgVGVz
dCBUZXN0IFlc3QgQ0EswHhcNOTgwMzEyMDIzMzUWhcNOTgwMzI2MDIzMpzU3WjBP
MQswCYDDVQQGEwJVUzEoMCYGA1UEChMfTmV0c2NhcGUgRGlyZN0b3J5VIFB1Ymxp
Y2F0aW9uczEWMB4QGA1UEAxMNZHVgh49dq2tLNvbjTBaMA0GCSqGSIb3DQEBAQUA
A0kAMEYkCQCksMR/aLGdfp4m0OiGgijG5KgOsyRNvwGYW7kfW+8mmijDtZaRjYNj
jcgpF3VnlbxbclX9LVjjNLC5737XZdAgEDozYwpNDARBglghkgBhvhCEAQEEBAMC
APAwHkwYDVR0jBBgwFAU67URjwCaGqZHUpSpdLxlzwJKiMwDQYJKoZIhQvcNAQEF
BQADgYEAJ+BfVem3vBOPBveNdLGfjlb9hucgmaMcQa9FA/db8qimKT/ue9UGOJqL
bwbMKBBopsDn56p2yV3PLIsBgrcuSoBCuFFnxBnqSiTS7YiYgCWqWaUA0ExJFmD6
6hBLseqkSWulk+hXHN7L/NrViO+7zNtKcaZLlFPf7d7j2MgX4Bo=
-----END CERTIFICATE-----

��Ӧ��֤����ݱ��ݵ�һ��ȫ�ĵط������ϵͳ��ʧ֤����ݣ����ʹ�ñ����ļ����°�װ֤�顣

��÷�����֤��󼴿ɽ��䰲װ���������֤����ݿ��С�

ʹ�ÿ���̨

  1. �� Directory Server Console �Ķ���������ѡ��ϣ��������֤�顱��ť�����ߣ���ʾ������ѡ����ڡ�����̨��>����ȫ�ԡ��˵���ѡ�񡰹���֤�顱�
  2. ��ʾ������֤�顱���ڡ�

  3. ѡ�񡰷�����֤�顱ѡ����������װ����
  4. ��ʾ��֤�鰲װ�򵼡���

  5. ������֤��λ��ѡ����ѡ��һ��ѡ�
  1. ȷ����ʾ��֤����Ϣ�Ƿ���ȷ��Ȼ�󵥻���һ������
  2. ָ��֤�����ƣ�Ȼ�󵥻���һ�����������Ҫ��֤�������ʾ����ơ�
  3. �ṩ����ר����Կ�Ŀ�������֤֤�顣�˿���������������֤����ݿ⡱������ 2 ���ṩ�Ŀ���һ�¡���ɺ󵥻���ɡ���
  4. �����֤�齫��ʾ�ڡ�������֤�顱ѡ��ϵ��б��С�������ķ�������Ϊ���� SSL ׼����ϡ�

ʹ��������

  1. ��ʹ������������֤����ݿ��а�װ�µķ�����֤�飺
  2. certutil -A -n "certificateName" -t "u,," -a -i certFile \
             -d ServerRoot/alias -P slapd-serverID-

    ���� certificateName �����ṩ����4��ʶ֤�����ƣ�certFile �ǰ� PEM ��ʽ�� PKCS #11 ֤����ı��ļ���-t "u,," ѡ���ʾ����һ������ SSL ͨѶ�ķ�����֤�顣

  3. Ҳ����ѡ��ʹ������ certutil ����4��֤�Ѱ�װ��֤�飺
  4. certutil -L -d ServerRoot/alias -P slapd-server ID-

    �г�ľ����������� u,, ��֤���Ƿ�����֤�顣

����֤��䷢��

���� Directory Server ������֤��䷢�����ù���ɻ�� CA ֤��ͽ��䰲װ���������֤����ݿ�}������ɡ��˹�̸������ʹ�õ�֤��䷢��IJ�ͬ���������ijЩ��ҵ CA �ṩ�������Զ�����֤��� Web վ�㣬����Щ CA ������������Ե����ʼ�����ʽ��֤�鷢�͸���

ʹ�ÿ���̨

��� CA ֤��󣬿�ʹ��֤�鰲װ������ Directory Server ������֤��䷢��

  1. �� Directory Server Console �Ķ���������ѡ��ϣ��������֤�顱��ť�����ߣ���ʾ������ѡ����ڡ�����̨��>����ȫ�ԡ��˵���ѡ�񡰹���֤�顱�
  2. ��ʾ������֤�顱���ڡ�

  3. ѡ��CA ֤�顱ѡ����������װ����
  4. ��ʾ��֤�鰲װ�򵼡���

  5. ����ѽ� CA ��֤�鱣�浽�ļ��������ṩ���ֶ�������·�������ͨ������ʼ��յ��� CA ��֤�飬�뽫���ͷ��֤�鸴�Ʋ�ճ���ṩ���ı��ֶ��С�������һ������
  6. ȷ����ʾ��֤����Ϣ��֤��䷢���ṩ����Ϣһ�£�Ȼ�󵥻���һ������
  7. ָ��֤�����ƣ�Ȼ�󵥻���һ������
  8. ѡ�����δ� CA ��Ŀ�ġ�����ѡ�����֮һ��ȫѡ��
  9. ����4�Կͻ����l�ӣ��ͻ�����֤������� LDAP �ͻ���ͨ���ύ�� CA �䷢��֤��4ִ�л���֤��Ŀͻ�����֤������ѡ�д˸�ѡ��

    ����4������������l�ӣ���������֤������ķ�����ͨ�� SSL ����һ����д� CA ��䷢֤��ķ��������ͨѶ�Ĺ���У����˷���������ƹ�Ӧ�̻�t�Ӷ�·������Ľ�ɫ����ѡ�д˸�ѡ��

  10. ������ɡ��˳���򵼡�

ʹ��������

  1. Ҳ����ʹ���������װ�����ε� CA ֤�飺
  2. certutil -A -n "CAcertificateName" -t "trust,," -a -i certFile \
             -d ServerRoot/alias -P slapd-serverID-

    ���� CAcertificateName ���ṩ����4��ʶ������ CA ����ƣ�certFile �ǰ� PEM �����ı���ʽ�� PKCS #11 �䷢��֤����ı��ļ���trust �����´���֮һ��

    • T����ʾ�� CA �䷢�Ŀͻ���֤���������εġ���� LDAP �ͻ���ͨ���ύ�� CA �䷢��֤��4ִ�л���֤��Ŀͻ�����֤������ʹ�ô˴��롣
    • C����ʾ�� CA �䷢�ķ�����֤���������εġ���ķ�����ͨ�� SSL ����һ����д� CA ��䷢֤��ķ��������ͨѶ�Ĺ���У����˷���������ƹ�Ӧ�̻�t�Ӷ�·������Ľ�ɫ����ʹ�ô˴��롣
    • CT����ʾ�� CA �䷢�Ŀͻ���֤��ͷ�����֤�鶼�������εġ��������}�����������ڴ� CA����ʹ�ô˴��롣
  3. Ҳ����ѡ��ʹ������ certutil ����4��֤�Ѱ�װ��֤�飺
  4. certutil -L -d ServerRoot/alias -P slapd-server ID

    �г�ľ����������� u,, ��֤���Ƿ�����֤�飬��Щ������������ CT,, ��֤���������ε� CA ֤�顣


���� SSL

��ɷ�����֤��������� CA ��֤��İ�װ�󣬼��ɼ��� SSL�������ʱ�䣬��ϣ������������� SSL ����������С������ʱ���� SSL����ȷ���ڴ���Ҫ�����ԡ���֤����������ԵIJ���֮ǰ�������� SSL��

���밴������ò���װ������֤�顱�������������һ��֤����ݿ⣬��ò���װ������֤�鲢���� CA ��֤�飬���ܼ��� SSL��

���²��轫�� Directory Server �м��� SSL ͨѶ�����ü��ܻ��ƣ�

  1. �� Directory Server Console �Ķ��������á�ѡ��ϣ�ѡ��������������ͬ�ĸ�ڵ㣬Ȼ�����Ҳ������ѡ�񡰼��ܡ�ѡ���
  2. ��ѡ���ʾ��ǰ������ļ������á�

  3. ������ϣ��ͨ��ѡ�С�Ϊ�˷��������� SSL�� ��ѡ������ü��ܹ��ܡ�
  4. ѡ�С�ʹ�ô������塱��ѡ��
  5. ����-�˵���ѡ����Ҫʹ�õ�֤�顣
  6. �����������á������ڡ�������ѡ��Ի�����ѡ��Ҫʹ�õ����롣�й��ض��������ϸ��Ϣ���������ѡ��������롱��
  7. ���ÿͻ�����֤����ѡ�
  8. ������ͻ�����֤��ʹ�ô�ѡ���������Կͻ����֤�鲢���ܾ���������֤��

    ����ͻ�����֤������Ĭ�����á�ѡ���ѡ�����ݿͻ�������ִ����֤���йػ���֤����֤����ϸ��Ϣ������������ÿͻ�����֤����


    ע

    �������ͨ���Ʒ�ʽʹ�û���֤�����֤������뽫ʹ���߷���������Ϊ�����Ҫ��ͻ�����֤��


    Ҫ��ͻ�����֤��ѡ���ѡ����ͻ�����Ӧ���������֤������ͻ���l�ӽ����ܾ�


    ע

    ��� Server Console ͨ�� SSL l���� Directory Server��ѡ��Ҫ��ͻ�����֤��������ͨѶ��������Ϊ Server Console û�п�����4���пͻ�����֤��֤�顣Ҫͨ���������޸Ĵ����ԣ������������ͻ�����֤����


  9. ���� Directory Server ͨѶʱ�����ϣ�����̨ʹ�� SSL���򻹿����� Server Console ��ѡ��ʹ�� SSL��
  10. ��ɺ󵥻���桱��
  11. ������ѡ������ʹ�� LDAP �� DSML-over-HTTP ��}��Э����� SSL ͨѶʱ������Ҫʹ�õİ�ȫ�˿ڡ��й���Ϣ������������ Directory Server �˿ںš���
  12. �����p�ȫ�˿ڵ�l�Ӷ�����ʹ�� SSL�������Ƿ������˰�ȫ�˿ڣ����� SSL �󣬿ͻ����ͨ��ǰ�ȫ�˿�ʹ�� Start TLS ����4ִ�� SSL ���ܡ�

  13. ������ Directory Server��
  14. �й���ϸ��Ϣ��������������� SSL ����������������

ѡ���������

���������ڼ��ܺͽ�����ݵ��㷨��ͨ���������ڼ�����ʹ�õ�λ��Խ�࣬������Խ���ƽ����˵��ȫ��ʹ�õ���Ϣ��֤����Ҳ���Ա�ʶ SSL ���롣��Ϣ��֤����һ�ּ���У��ͣ���4��֤��������ԣ����㷨���й������㷨����ǿ��ĸ���ϸ�����ۣ�����ġ�Administration Server Administration Guide�� Appendix B �е� "Ciphers Used With SSL"��

���ͻ������������� SSL l��ʱ���ͻ���ͷ��������ʹ��ͬһ���������ڼ�����Ϣ�����κ�˫����ܹ���У�˫��������ʹ����ͬ���루ͨ��Ϊ˫����֧�ֵı�����f��ǿ�����룩��

Directory Server �ṩ���� SSL 3.0 �� TLS ���룺

�� 11-1 Directory Server �ṩ������

�������

˵��

None

û�м��ܣ�ֻ���� MD5 ��Ϣ��֤ (rsa_null_md5)��

RC4��128 �

�� 128 λ���ܵ� RC4 ���벢���� MD5 ��Ϣ��֤ (rsa_rc4_128_md5)��

RC4������

�� 40 λ���ܵ� RC4 ���벢���� MD5 ��Ϣ��֤ (rsa_rc4_40_md5)��

RC2������

�� 40 λ���ܵ� RC2 ���벢���� MD5 ��Ϣ��֤ (rsa_rc2_40_md5)��

DES �� DES������

�� 56 λ���ܵ� DES ������ SHA ��Ϣ��֤ (rsa_des_sha)��

DES (FIPS)

�� 56 λ���ܵ� FIPS DES ������ SHA ��Ϣ��֤���������������ģ��ʵ�ֵ� FIPS 140-1 �9�������׼ (rsa_fips_des_sha)��

��Ԫ DES

�� 168 λ���ܵ���Ԫ DES ������ SHA ��Ϣ��֤ (rsa_3des_sha)��

��Ԫ DES (FIPS)

�� 168 λ���ܵ� FIPS ��Ԫ DES ������ SHA ��Ϣ��֤���������������ģ��ʵ�ֵ� FIPS 140-1 �9�������׼ (rsa_fips_3des_sha)��

Fortezza

�� 80 λ���ܵ� Fortezza ���벢���� SHA ��Ϣ��֤��

RC4 (Fortezza)

�� 128 λ���ܵ� Fortezza RC4 ���벢���� SHA ��Ϣ��֤��

None (Fortezza)

û�м��ܣ�ֻ���� Fortezza SHA ��Ϣ��֤��

Ϊ�˼���ʹ�� Server Console �� SSL����������ѡ�����������е�һ�֣�

ʹ�����²���4ѡ��ϣ�������ʹ�õ����룺

  1. �� Directory Server Console �Ķ��������á�ѡ��ϣ�ѡ��������������ͬ�ĸ�ڵ㣬Ȼ�����Ҳ������ѡ�񡰼��ܡ�ѡ���
  2. ��ѡ���ʾ��ǰ������ļ������á��������� SSL��������ȷ����Ϊ���������� SSL��

  3. �������������
  4. ��ʾ��������ѡ��Ի���

  5. �ڡ�������ѡ��Ի����У�ͨ��ѡ�л�ȡ��ѡ����������Եĸ�ѡ��4ָ��ϣ�������ʹ�õ����롣
  6. ��dz���ij�ְ�ȫԭ�����ʹ���ض����룬����Ӧѡ�� none��MD5 ֮����������롣


    ����

    ��Ҫѡ��û�м��ܣ�ֻ���� MD5 ��Ϣ��֤�����룬��Ϊ���ͻ�����û������������ã�������ͻ�ʹ�ô�ѡ�����������£�l���Dz���ȫ�ģ���Ϊû��ʹ�ü��ܡ�


  7. �ڡ�������ѡ��Ի����е���ȷ������Ȼ���ڡ����ܡ�ѡ��е�����桱��

����ͻ�����֤

����ѽ� Directory Server ����ΪҪ���ͻ�����֤����ʹ�� SSL l���� Server Console����ô�Ͳ�����ʹ�� Server Console �����κ� Sun Java System ��������ֻ�ܸ�Ϊʹ����Ӧ�������й��ó���

Ȼ�������ϣ����Ŀ¼�����Ա����ʹ�� Server Console�������ִ�����²����Ա㲻��Ҫ�����������ͻ�����֤��

  1. ʹ�����������޸� cn=encryption,cn=config ��Ŀ��
  2. ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: cn=encryption,cn=config
    changetype: modify
    replace: nsSSLClientAuth
    nsSSLClientAuth: allowed
    ^D

  3. ����ͨ�����������ֹͣ������������������ Directory Server��
  4. ��b���� Server Console��


���ÿͻ�����֤

�ͻ�����֤��һ�ַ�������֤�ͻ�����ݵĻ��ơ�����ʹ�ÿͻ����ṩ��֤�����ͨ����� SASL �Ļ��ƣ��� DIGEST-MD5����ִ�пͻ�����֤��ͨ���ṩ DN �Ϳ������ Solaris ����ϵͳ�ϣ�Ŀǰ Directory Server ͨ�� SASL ֧�� GSSAPI ���ƣ��û�������ͨ�� Kerberos V5 ���пͻ�����֤��

����֤�����֤ʹ��ͨ�� SSL Э���õĿͻ���֤�飬4�����û���Ŀ�Խ��б�ʶ���˻���Ҳ��Ϊ EXTERNAL����Ϊ����5���ڽϵͲ㽨b����֤���ơ������Ժ�İ汾�У���ʹ�� IP ��ȫЭ�� (ipsec) �����ⲿ��֤����

��Administration Server Administration Guide��Chapter 9 �е� "Using Client Authentication" �Ի���֤�����֤����������˵��

����С�ڽ�������� Directory Server ������}�� SASL ���ơ�������������� LDAP �ͻ�����ʹ�ð�ȫ�ԡ���

ͨ�� DIGEST-MD5 ���е� SASL ��֤

DIGEST-MD5 ����ͨ��ȽϾ��������û�����Ŀͻ����͵�����ֵ�Կͻ��������֤��Ȼ����Ϊ�˻��Ʊ����ȡ�û��������ϣ��ͨ�� DIGEST-MD5 ������֤�������û���������Ŀ¼����һ�� {CLEAR} ����� {CLEAR} ����洢��Ŀ¼��ʱ������ȷ��ͨ�� ACI ��ȷ���ƶԿ���ֵ�ķ��ʣ����� 6 �¡�������ʿ��ơ������������ϣ������Ϊ����ֵ���ܡ�������ͨ���ڸú�׺���������Լ���4��һ������ {CLEAR} ���

���� DIGEST-MD5 ����

���¹��˵�������� Directory Server ��ʹ�� DIGEST-MD5 �ı�Ҫ���裺

  1. ʹ�ÿ���̨�� ldapsearch �����֤ DIGEST-MD5 �Ǹ���Ŀ�� supportedSASLMechanisms ���Ե�ֵ�����磬���������ʾ���õ� SASL ���ƣ�
  2. ldapsearch -h host -p port -D "cn=Directory Manager" -w password \
    -s base -b "" "(objectclass=*)" supportedSASLMechanisms

    dn:
    supportedSASLMechanisms: EXTERNAL
    supportedSASLMechanisms: DIGEST-MD5
    supportedSASLMechanisms: GSSAPI
    ^D

  3. ���δ���� DIGEST-MD5����ʹ������� ldapmodify ����4������
  4. ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: cn=SASL, cn=security, cn=config
    changetype: modify
    add: dsSaslPluginsEnable
    dsSaslPluginsEnable: DIGEST-MD5
    -
    replace: dsSaslPluginsPath
    dsSaslPluginsPath: ServerRoot/lib/sasl
    ^D

  5. ʹ�� DIGEST-MD5 ��Ĭ�ϱ�ʶӳ�䣬���߰�����DIGEST-MD5 ��ʶӳ�䡱�е�˵����µı�ʶӳ�䡣
  6. ȷ����ʹ�� DIGEST-MD5 ͨ�� SSL ���ʷ�����������û��Ŀ���洢�� {CLEAR} �С��й�������ÿ���洢������˵��������� 7 �¡������û��ʻ��Ϳ����
  7. ����޸��� SASL ������Ŀ���� DIGEST-MD5 ��ʶӳ����Ŀ֮һ���������� Directory Server��

DIGEST-MD5 ��ʶӳ��

SASL ���Ƶı�ʶӳ�䳢�Խ� SASL ��ʶƾ֤��Ŀ¼�е��û���Ŀ����ƥ�䡣�йظû��Ƶ�����˵�����������ʶӳ�䡱�����ӳ��δ���ҵ��� SASL ��ʶ���Ӧ�� DN������֤ʧ�ܡ�

SASL ��ʶ����Ϊ Principal ���ַ�����ÿ����Ƶ��ض���ʽ4��ʾ�û����� DIGEST-MD5 �У�����ͻ���һ��� dn:ǰ׺�� LDAP DN �� u:ǰ׺�������ǿͻ���ȷ���������ı����� Principal��ӳ���ڼ䣬�ͻ����͵� Principal �� ${Principal} ռλ���п��á�

�����������е�������Ŀ���� DIGEST-MD5 ��Ĭ�ϱ�ʶӳ�䣺

dn: cn=default,cn=DIGEST-MD5,cn=identity mapping,cn=config
objectClass: top
objectClass: nsContainer
objectClass: dsIdentityMapping
objectClass: dsPatternMatching
cn: default
dsMatching-pattern: ${Principal}
dsMatching-regexp: dn:(.*)
dsMappedDN: $1

�˱�ʶӳ����� Principal �� dn �ֶΰ�Ŀ¼�������û���ȷ�� DN��

Ҫ�������Լ��� DIGEST-MD5 ��ʶӳ�䣬��ִ�����²���

  1. �� cn=DIGEST-MD5,cn=identity mapping,cn=config �±༭Ĭ��ӳ����Ŀ�򴴽��µ�ӳ����Ŀ���йر�ʶӳ����Ŀ�����ԵĶ��壬���������ʶӳ�䡱��DIGEST-MD5 ��ӳ��ʾ��λ��������ļ��У�
  2. ServerRoot/slapd-server ID/ldif/identityMapping_Examples.ldif

    ��ʾ����� Principal �IJ����Ҫ����ı��ֶΰ����������ݵ��û��������������ʾ�˽�Ҫ��ζ����ӳ�䣺

    ldapmodify -a -h host -p port -D "cn=Directory Manager" -w password
    dn: cn=unqualified-username,cn=DIGEST-MD5,cn=identity mapping,
     cn=config
    objectclass: dsIdentityMapping
    objectclass: dsPatternMatching
    objectclass: nsContainer
    objectclass: top
    cn: unqualified-username
    dsMatching-pattern: ${Principal}
    dsMatching-regexp: u:(.*)@(.*)\.com
    dsSearchBaseDN: dc=$2
    dsSearchFilter: (uid=$1)

  3. ������ Directory Server ��ʹ��ӳ����Ч��

ͨ�� GSSAPI ���� SASL ��֤������Solaris��

SASL �ϵ��ۺϰ�ȫ����Ӧ�ó���ӿ� (GSSAPI) ������ʹ�õ���ȫϵͳ���� Kerberos V5��4��֤�ͻ���GSSAPI ����� Solaris ƽ̨�Ͽ��á�Sun �������� Sun Enterprise Authentication Mechanism (SEAM) 1.0.1 �������а�װ Kerberos V5 ʵ�֡�

������ʹ�ô� API 4��֤�û�����ݡ�Ȼ��SASL ���ƽ�Ӧ�� GSSAPI ӳ������Ի��l���ڼ����в���İ� DN��

���� Kerberos ϵͳ

���������̵�˵������ Kerberos ��������ʹ�õ��� SEAM 1.0.1 �����������ù�̰�(���²��裺

  1. ���� /etc/krb5 �е��ļ���
  2. ���� Kerberos ��ݿ��Դ洢�û��ͷ��񣬲������д��� LDAP ����� principal��LDAP ����� principal Ϊ��
  3. ldap/serverFQDN@REALM

    ���� serverFQDN �Ƿ��������ȫ�޶�������

  4. ������Կ��ǩ�Դ洢������Կ�����а�(���� LDAP �����һ����Կ��
  5. �� Kerberos �ػ���̡�

�й�ÿһ���������ϸ˵�����������ĵ���

���� GSSAPI ����

���¹��˵�������� Directory Server ���� Solaris ƽ̨��ʹ�� GSSAPI �ı�Ҫ���裺

  1. ʹ�ÿ���̨�� ldapsearch �����֤ GSSAPI �Ǹ���Ŀ�� supportedSASLMechanisms ���Ե�ֵ�����磬���������ʾ���õ� SASL ���ƣ�
  2. ldapsearch -h host -p port -D "cn=Directory Manager" -w password \
    -s base -b "" "(objectclass=*)" supportedSASLMechanisms

    dn:
    supportedSASLMechanisms: EXTERNAL
    supportedSASLMechanisms: DIGEST-MD5

  3. Ĭ������£�δ���� GSSAPI����ʹ������� ldapmodify ����4������
  4. ldapmodify -h host -p port -D "cn=Directory Manager" -w password
    dn: cn=SASL, cn=security, cn=config
    changetype: modify
    add: dsSaslPluginsEnable
    dsSaslPluginsEnable: GSSAPI
    -
    replace: dsSaslPluginsPath
    dsSaslPluginsPath: ServerRoot/lib/sasl

  5. ������GSSAPI ��ʶӳ�䡱�е�˵��� GSSAPI ��Ĭ�ϱ�ʶӳ����κ��Զ���ӳ�䡣
  6. �ڷ�������������÷������ Kerberos��
    1. ʹ�ûỰ��Կ�� Kerberos �д������� LDAP ���� principal��ldap/serverHostname@Realm�����У�
    2. serverHostname �Ƿ�����������ȫ�޶��������ֵ������ cn=config �� nsslapd-localhost ���Ե�ֵ��ͬ����������ȫ��ΪСд��ĸ��
    3. Realm �Ƿ������ Kerberos ����
    4. LDAP ��������ܹ���ȡ�����ļ��е���Կ��ݿ⣺/etc/krbs/krb5.keytab��
    5. ��������������� DNS��
  7. ����޸��� SASL ������Ŀ���� GSSAPI ��ʶӳ����Ŀ֮һ���������� Directory Server��

GSSAPI ��ʶӳ��

SASL ���Ƶı�ʶӳ�䳢�Խ� SASL ��ʶƾ֤��Ŀ¼�е��û���Ŀ����ƥ�䡣�йش˻��Ƶ�����˵�����������ʶӳ�䡱�����ӳ��δ���ҵ��� SASL ��ʶ���Ӧ�� DN������֤ʧ�ܡ�

SASL ��ʶ����Ϊ Principal ���ַ�����ÿ����Ƶ��ض���ʽ4��ʾ�û����� Kerberos ��ʹ�� GSSAPI ʱ��Principal �Ǿ��� uid[/instance][@realm] ��ʽ�ı�ʶ������ uid ���ܰ�һ���ѡ�� instance ��ʶ�������ŵ�ͨ��Ϊ����Ŀ�ѡ realm�������磬����ȫ��Ϊ��Ч���û� Principal��

bjensen
bjensen/Sales
bjensen@EXAMPLE.COM
bjensen/Sales@EXAMPLE.COM

���δ��Ŀ¼�ж��� GSSAPI ӳ�䡣��ݿͻ�������ʹ�õ� Principal �ķ�ʽ����Ӧ�ö���Ĭ��ӳ�����Ҫ���κ��Զ���ӳ�䡣

Ҫ���� GSSAPI �ı�ʶӳ�䣬��ִ�����²���

  1. �� cn=GSSAPI,cn=identity mapping, cn=config �´����µ�ӳ����Ŀ���йر�ʶӳ����Ŀ�����ԵĶ��壬���������ʶӳ�䡱��
  2. GSSAPI ӳ��ʾ��λ��������ļ��У�

    ServerRoot/slapd-server ID/ldif/identityMapping_Examples.ldif

    ���ļ��н����Ĭ�� GSSAPI ӳ����� Principal ���һ���û� ID����ȷ����Ŀ¼�Ĺ̶���֧�е�һ���û���

    dn: cn=default,cn=GSSAPI,cn=identity mapping,cn=config
    objectclass: dsIdentityMapping
    objectclass: nsContainer
    objectclass: top
    cn: default
    dsMappedDN: uid=${Principal},ou=people,dc=example,dc=com

    ���ļ��е���һ��ʾ����ʾ���ڰ�(��֪ Realm �� Principal �а�һ���û� ID ʱ���ȷ�����û� ID��

    dn: cn=same_realm,cn=GSSAPI,cn=identity mapping,cn=config
    objectclass: dsIdentityMapping
    objectclass: dsPatternMatching
    objectclass: nsContainer
    objectclass: top
    cn: same_realm
    dsMatching-pattern: ${Principal}
    dsMatching-regexp: (.*)@example.com
    dsMappedDN: uid=$1,ou=people,dc=example,dc=com

  3. ������ Directory Server ��ʹ��ӳ����Ч��


��ʶӳ��

Directory Server �е������֤������Ҫһ�������Э���ƾ֤��Ŀ¼�� DN ��ӳ�䡣Ŀǰ��DSML-over-HTTP Э��� DIGEST-MD5 �Լ� GSSAPI SASL ����֮������������ÿ����֤���ƶ���ʹ�ñ�ʶӳ��4ȷ���ɿͻ����ṩ�Ļ���Э���ض�ƾ֤�İ� DN��

��ʶӳ��ʹ�� cn=identity mapping, cn=config ���÷�֧�е���Ŀ���˷�֧Ϊÿ�����ִ�б�ʶӳ���Э���(һ������

ӳ����Ŀ��������ȡЭ���ض�ƾ֤��Ԫ����������Ŀ¼ʱʹ����ЩԪ�صķ�ʽ������������һ���û���Ŀ����ӳ���Ѿ��ɹ�����l�ӽ�ʹ�ô���Ŀ��Ϊ���в���İ� DN���������û�з�����Ŀ�򷵻ض����Ŀ����ӳ��ʧ�ܣ���Ӧ������ӳ�䡣

ÿ���֧Ӧ�ð��Э���һ��Ĭ��ӳ���Լ����������Զ���ӳ�䡣Ĭ��ӳ����� RDN cn=default���Զ���ӳ����ܾ���ʹ�� cn ��Ϊ�������Ե��κ����� RDN���������Բ�ȷ����˳���9������Զ���ӳ�䣬ֱ������һ��ӳ��ɹ�����������Զ���ӳ���ʧ���ˣ������Ӧ��Ĭ��ӳ�䡣���Ĭ��ӳ��Ҳʧ���ˣ���ô�ͻ�����֤ʧ�ܡ�

ӳ����Ŀ����� top��Container �� dsIdentityMapping �����ࡣȻ����Ŀ�����ܰ��������ԣ�

���⣬ӳ����Ŀ�����ܰ�������ʹ���������Ե� dsPatternMatching �����ࣺ

�������е�����ֵ��dsSearchScope ���⣩���ܰ��ʽΪ ${keyword} ��ռλ������ keyword ��Э���ض�ƾ֤��Ԫ�ص���ơ�ӳ���ڼ䣬ռλ���滻Ϊ�ͻ����ṩ��Ԫ�ص�ʵ��ֵ��

����ռλ����滻�󣬽�ִ�ж��������ģʽƥ�䡣�����ģʽƥ����������ʽ���бȽϡ����������ʽ��ģʽ�ַ�ƥ�䣬���ӳ��ʧ�ܡ����ƥ�䣬��(����������ʽ�����ƥ��ֵ����Ϊ���õ��ѱ��ռλ��������������ֵ��ʹ�á����磬����Ϊ SASL ��������ӳ�䣺

dsMatching-pattern: ${Principal}
dsMatching-regexp: (.*)@(.*)\.(.*)
dsMappedDN: uid=$1,ou=people,dc=$2,dc=$3

���ʹ�� bjensen@example.com �� Principal ���пͻ�����֤�����ӳ�佫����� DN uid=bjensen,ou=people,dc=example,dc=com�����Ŀ¼�д��ڴ� DN����ӳ�佫�ɹ������Կͻ��������֤����l���ڼ�ִ�е����в����ʹ�ô˰� DN��

��ʹ�� Posix regexec(3C) �� regcomp(3C) ������ö� dsMatching-pattern �� dsMatching-regexp ���бȽϡ�Directory Server ʹ��)չ��������ʽ�����еıȽ������ִ�Сд����ϸ��Ϣ���������Щ����� man ҳ�档

���ܰ�ռλ�������ֵ����Բ�����ռλ����ɲ��ֵ����� $��{ �� } �ַ���б��루��ʹû��ʹ��ռλ������ʹ������ֵ����Щ�ַ���б��룺$�滻Ϊ\24��{�滻Ϊ\7B��}�滻Ϊ\7D��

ʹ��ռλ����滻ֵ��������ӳ�䣨ӳ�佫��Э���ض�ƾ֤����ȡ�û������������ֵ������ʹ��ӳ��ֵ4������ӳ��� DN��������Ŀ¼������λ��������Ӧ�� DN��Ӧ�ö�����ȡ��Ŀ¼�ͻ����ṩ��Ԥ��ƾ֤��ӳ�䣬������ӳ�䵽�ض���Ŀ¼�ṹ��


����

�������岻���Ƶ�ӳ�佫���Ϊ��ȫ©�������磬��ģʽƥ��ĵ�Ӳ���� DN ��ӳ�������ܳɹ�����˽���֤���ܲ���Ŀ¼�û��Ŀͻ���

�������ӳ��4���?ͬ�Ŀͻ���ƾ֤��ʽ�����Ǵ���һ��һ�ġ�������ͨ�������ӳ�䣬������ȫ��Ӧ�ø�ݿͻ���ƾ֤ʼ�ճ��Խ��ͻ���l��ӳ�����ض��û���



���� LDAP �ͻ�����ʹ�ð�ȫ��

���¼��ڽ��������ϣ���� Directory Server ��b��ȫl�ӵ� LDAP �ͻ��������ú�ʹ�� SSL���� SSL l���У�������Ὣ��֤�鷢�͸�ͻ���ͻ������ȱ���������֤������֤������Ȼ�󣬿ͻ������ͨ�����Լ���֤���}�� SASL ����֮һ��DIGEST-MD5 ��ʹ�� Kerberos V5 �� GSSAPI������Ϣ4��ijһ�ͻ�����֤���ơ�

���¼���ʹ�� ldapsearch ������Ϊ���� SSL �� LDAP �ͻ����ʾ��Directory Server ���ṩ�� ldapmodify��ldapdelete �� ldapcompare ���ߵ����÷�ʽ��ͬ����ЩĿ¼���ʹ��߾���� Directory SDK for C����Directory Server Resource Kit Tools Reference���ж�������˽�һ��˵��

Ҫ������ LDAP �ͻ��������� SSL l�ӣ������Ӧ�ó��򸽴���ĵ���


ע

ijЩ�ͻ���Ӧ�ó���ʵʩ SSL����������֤�������Ƿ���������ε�֤�顣����ʹ�� SSL Э�����ṩ��ݼ��ܣ����Ȳ��ܱ�֤�����ԣ�Ҳ���ܷ�ֹ�ͻ���ļ�ð��


�ڿͻ��������÷�������֤

���ͻ���b�������� SSL l��ʱ����������η������ύ��֤�顣Ϊ��ɴ˲���ͻ�����룺

Mozilla ��ʹ�� SSL ͨ�� HTTP Э���� Web ���������ͨѶ�Ŀͻ���Ӧ�ó��򡣿���ʹ�� Mozilla ���� LDAP �ͻ���Ҳ��ʹ�õ�֤�顣���ߣ�����ʹ�� certutil ���߹���֤����ݿ⡣

ͨ�� Mozilla ����ͻ���֤��

���¹�̽������ʹ�� Mozilla �ڿͻ����й���֤����ݿ⡣

  1. ��ʱ��Mozilla ��ȷ��֤����ݿ���ڣ�����������Ҫʱ����һ��֤����ݿ⡣֤����ݿ⽫������ Mozilla ��ѡ��һ��洢��һ���ļ��У����磬.mozilla/username/string.slt/cert8.db��
  2. ���ʹ�ô˹�̣����ҵ��� Mozilla ������֤����ݿ⣬����ס�ͻ���Ӧ�ó���ʹ�õ�·����

  3. ʹ�� Mozilla ���ΪҪ���ʵ� Directory Server �䷢֤���֤��䷢��� Web վ�㡣Mozilla ���Զ�����֤��䷢���֤�飬��ѯ�����Ƿ����δ�֤�顣
  4. ���磬�������ʹ���ڲ������ Sun Java System ֤���������ת������ https://hostname:444 ��ʽ�� URL��

  5. Mozilla ��ʾ������֤��䷢���֤��ʱ��������ִ�С�Ӧ������ CA ֤���Խ��з�������֤��
  6. ��� CA �� Web վ��涨���˲�������޷�ִ�С���� Mozilla δ�Զ���ʾ������ CA ֤�飬��ʹ�����²����ֶ�ִ�С�

ͨ�������й���ͻ���֤��

ʹ�� certutil ����ͨ�������й���֤�顣SUNWtlsu ��������ṩ�д˹��ߡ�

  1. �ڿͻ�������ϣ���ʹ�����������֤����ݿ⣺
  2. certutil -N -d path -P prefix

    �ù��߽���ʾ�û���������Ա���֤�顣Ȼ�󣬸ù��߽����������ļ���path/prefixcert8.db �� path/prefixkey3.db��

    Ӧ���� LDAP �ͻ���Ӧ�ó�����û���ֻ��������ʵ�λ�õ��4���֤����ݿ⣨���磬����Ŀ¼�ܱ�������Ŀ¼����

  3. ����ΪҪ���ʵ� Directory Server �䷢֤���֤��䷢��jϵ�������� CA ֤�顣����ͨ���͵����ʼ���������ǵ� Web վ�㣬�Ի�� PKCS #11 ֤��� PEM ������ı��汾������֤�鱣�浽�ļ��С�
  4. ���磬�������ʹ���ڲ������ Sun Java System ֤���������ת������ https://hostname:444 ��ʽ�� URL���ڶ���������ѡ��У�ѡ�񡰵��� CA ֤��t�ӡ�������������ѱ���֤�顣

    ���ߣ�����ͬһ CA �л�ÿͻ���֤��ͷ�����֤�飬������ظ�ʹ��ͨ��������֤��䷢���еĹ�̻�õ� CA ֤�顣

  5. �� CA ֤����Ϊ�����ε� CA�����ڰ䷢�� SSL l����ʹ�õķ�����֤�飩���롣ʹ���������
  6. certutil -A -n "certificateName" -t "C,," -a -i certFile -d path -P prefix

    ���У�certificateName �Ǹ����4��ʶ��֤�����ƣ�certFile �ǰ� PEM �����ı���ʽ�� PKCS #11 �䷢��֤����ı��ļ���path �� prefix ������ 1 �е���ͬ��

    LDAP �ͻ���Ӧ�ó����ÿ���û������뽫 CA ֤�鵼������֤����ݿ��С������û����Ե���λ�� certFile �е���֤ͬ�顣

ָ�� SSL ѡ���Խ��з�������֤

Ҫʹ�� ldapsearch ������ SSL ��ִ�з�������֤���û�����ָ����֤����ݿ��·�����ɡ�ͨ��ȫ�˿ڽ�b SSL l��ʱ�������������֤�顣Ȼ��ldapsearch ���߽����û���֤����ݿ��в��Ұ䷢������֤��� CA �����ε� CA ֤�顣

����������ʾ���û����ָ����֤����ݿ⣨������ݿ����� Mozilla �����ģ���

ldapsearch -h host -p securePort \
           -D "uid=bjensen,dc=example,dc=com" -w bindPassword \
           -Z -P .mozilla/bjensen/string.slt/cert8.db \
           -b "dc=example,dc=com" "(givenname=Richard)"

�ڿͻ��������û���֤�����֤

�ͻ�����֤��Ĭ�ϻ��ƽ�ʹ��֤��4��ȫ��ʶ�� Directory Server ���û���Ҫִ�л���֤��Ŀͻ�����֤������룺

��Щ������Ҫ certutil ����ͨ�������й���֤�顣SUNWtlsu ��������ṩ�д˹��ߡ�

��ò���װ�û�֤��

������ϣ�����û���֤�����֤4����Ŀ¼��ÿλ�û����󲢰�װ�ͻ���֤�顣�˹�̼����û��Ѿ��������ڿͻ��������÷�������֤���е�˵��������֤����ݿ⡣

  1. ��ʹ������������û�֤������
  2. certutil -R \
    -s "cn=Babs Jensen,ou=Sales,o=example.com,l=city,st=state,c=country"\
    -a -d path -P prefix

    -s ѡ��ָ��������֤��� DN��ͨ����֤��䷢���Ҫ���ʾ������ʾ���������ԣ�������ر�ʶ֤���ӵ���ߡ�ͨ������ 9 �е�֤��ӳ����ƣ�֤�� DN ����ӳ�����û���Ŀ¼ DN��

    ·�� �� ǰ׺ �������û���֤�����Կ��ݿ⡣certutil ���߽���ʾ�û���������Կ��ݿ�Ŀ��Ȼ�󣬴˹��߽���� PEM �����ı���ʽ�� PKCS #10 ֤������

  3. Ȼ���չ涨���轫�����֤�����󱣴浽һ���ļ��У������䴫�������֤��䷢�����磬���ܻ�Ҫ�����Ե����ʼ�����ʽ����֤�����󣬻���Ҳ����ͨ�� CA �� Web վ����������
  4. ����������󣬱���ȴ� CA �����֤�������Ӧ��������Ӧʱ�������ͬ�����磬��� CA ����˾�ڲ�������ֻ��Ҫһ��}��ʱ��Ϳ���Ӧ�������ѡ���˹�˾�ⲿ�� CA���������Ҫ�ü��ܵ�ʱ��4��Ӧ����
  5. CA ������Ӧ���뽫��֤��� PEM �����ı����ػ��Ƶ�һ���ı��ļ���
  6. ��ʹ������������֤����ݿ��а�װ�µ��û�֤�飺
  7. certutil -A -n "certificateName" -t "u,," -a -i certFile -d path -P prefix

    ���У�certificateName ����4��ʶ֤�����ƣ�certFile �ǰ� PEM ��ʽ�� PKCS #11 ֤����ı��ļ���path �� prefix ������ 1 �е���ͬ��

    ���ߣ����ͨ�� Mozilla ����֤����ݿ⣬���� CA �� Web վ���п�����һ�����ֱ�Ӱ�װ֤���t�ӡ������t�ӣ������� Mozilla ��ʾ�ĶԻ�����ִ�в���

  8. ��ʹ�����������֤��Ķ����Ƹ�����
  9. certutil -L -n "certificateName" -d path -r > userCert.bin

    ���� certificateName �ǰ�װ֤��ʱ���֤����ƣ�path ��֤����ݿ��λ�ã�userCert.bin �ǽ�������Ƹ�ʽ֤�������ļ�����ơ�

  10. �� Directory Server �ϣ��� userCertificate ���������ӵ�пͻ���֤����û���Ŀ¼��Ŀ�С�
  11. Ҫͨ�����̨���֤�飬��ִ�����²���
    1. �� Directory Server Console �Ķ�����Ŀ¼��ѡ��У���Ŀ¼�����ҵ��û���Ŀ���Ҽ�����Ŀ���ڵ���˵���ѡ����ͨ�ñ༭����б༭����
    2. �ڡ�ͨ�ñ༭���У�����������ԡ���
    3. �ӵ���ĶԻ�����ѡ�� userCertificate ���Բ��ӡ������͡���-�б���ѡ�� binary������ָ�� binary �����ͣ�����֤��ӳ�佫ʧ�ܡ�
    4. ��ͨ�ñ༭�����ҵ��µ� userCertificate �ֶΡ������Ӧ�ġ�����ֵ����ťΪ���������ö�����ֵ��
    5. �ڡ�����ֵ���Ի����У����������� 6 �д����� userCert.bin �ļ�����ƣ����ߵ�����!����Ҹ��ļ���
    6. �ڡ�����ֵ���Ի����е���ȷ������Ȼ���ڡ�ͨ�ñ༭���е�����桱��
  12. Ҫͨ�����������֤�飬��ʹ������ʾ������ʾ�� ldapmodify ���������ʹ�� SSL ͨ��ȫl�ӷ���֤�飺
  13. ldapmodify -h host -p securePort \
               -D "uid=bjensen,dc=example,dc=com" -w bindPassword \
               -Z -P .mozilla/bjensen/string.slt/cert8.db
    version: 1
    dn: uid=bjensen,dc=example,dc=com
    changetype: modify
    add: userCertificate
    userCertificate;binary: < file:///path/userCert.bin

    �����( binary �����ͣ�����֤��ӳ�佫ʧ�ܡ�< ǰ��Ŀո�dz���Ҫ��������ȫ������ʾ����ʽ����ո�Ҫʹ�� < �﷨4ָ���ļ������������ version: 1 ��Ϊ LDIF ���Ŀ�ͷ��ldapmodify ��������ʱ�������������Ϊ���ԴӸ��ļ���ȫ�������ж�ȡ��ֵ��

  14. �� Directory Server �ϣ���Ҫʱ��װ�����ΰ䷢�û�֤��� CA ��֤�顣�������δ� CA �Խ���4�Կͻ����l�ӡ������������֤��䷢����
  15. ���ա�Administration Server Administration Guide��Chapter 9 �е� "Using Client Authentication" �е�˵������ Directory Server �Ի���֤�������֤���ڴ˹���У����Ա༭ certmap.conf �ļ������������Ὣͨ�� LDAP �ͻ����ύ���û�֤��ӳ���v�Ӧ���û� DN��
  16. ȷ���� certmap.conf �ļ��У�verifyCert ����������Ϊ on��Ȼ�󣬷�������֤����֤ͬ����û���Ŀ���Ӷ���ȷ�ر�ʶ�û���

Ϊ����֤��Ŀͻ�����ָ֤�� SSL ѡ��

Ҫʹ�� ldapsearch ������ SSL ��ִ�л���֤��Ŀͻ�����֤���û���Ҫָ�����������ѡ����ʹ����֤�顣ͨ��ȫ�˿ڽ�b SSL l��ʱ���˹��߽���֤�������֤�飬Ȼ���û�֤�鷢���w�����

����������ʾ���û����ָ����4������֤����ݿ⣨������ݿ����� Mozilla �����ģ���ѡ�

ldapsearch -h host -p securePort \
           -Z -P .mozilla/bjensen/string.slt/cert8.db \
           -N "certificateName" \
           -K .mozilla/bjensen/string.slt/key3.db -W keyPassword \
           -b "dc=example,dc=com" "(givenname=Richard)"

-Z ѡ���ʾ����֤�����֤��certificateName ָ��Ҫ���͵�֤�飬-K �� -W ѡ������ͻ���Ӧ�ó������֤�飬�Ӷ���Է���֤�顣���δָ�� -D �� -w ѡ�����֤��ӳ��4ȷ���� DN��

�ڿͻ�����ʹ�� SASL DIGEST-MD5

�ڿͻ�����ʹ�� DIGEST-MD5 ����ʱ������Ҫ��װ�û�֤�顣�������ϣ��ʹ�ü��ܵ� SSL l�ӣ�����Ȼ�������η�����֤�飬�����ڿͻ��������÷�������֤��������

ָ������

���������ѡ����֤��ʶ����ƿռ䡣�� DIGEST-MD5 ��֤�У�������֤�ض�������

Directory Server ʹ����ȫ�޶����������Ϊ DIGEST-MD5 ��Ĭ�����򡣷�����ʹ���� nsslapd-localhost �����������ҵ���������Сд��ĸֵ��

���δָ��������ʹ�÷������ṩ��Ĭ������

ָ��������

�� UNIX �����У��������� SASL_PATH ������������ LDAP ���߽����ҵ� DIGEST-MD5 �⡣DIGEST-MD5 ���� SASL �����̬���صĹ���⣬���Ӧ��������ʾ���� SASL_PATH �������� Korn shell ��Ϊ��

export SASL_PATH=ServerRoot/lib/sasl

��·������ Directory Server ��װ�ڽ����� LDAP ���ߵ�ͬһ����ϡ�

ldapsearch �����ʾ��

����ʹ�� SSL������ִ�� DIGEST-MD5 �ͻ�����֤�������ʾ��ʹ��Ĭ�ϵ� DIGEST-MD5 ��ʶӳ��4ȷ���� DN��

ldapsearch -h host -p nonSecurePort -D "" -w bindPassword \
           -o mech=DIGEST-MD5 [-o realm="hostFQDN"] \
           -o authid="dn:uid=bjensen,dc=example,dc=com" \
           -o authzid="dn:uid=bjensen,dc=example,dc=com" \
           -b "dc=example,dc=com" "(givenname=Richard)"

�����ʾ��˵�������ʹ�� -o��o ΪСд��ĸ��ѡ��4ָ�� SASL ѡ�Realm �ǿ�ѡ�ģ��������ָ���� Realm����� Realm ����Ϊ������������ȫ�޶���������Ȼδʹ������������� authzid������ authid �� authzid ����ͬʱ��������ͬ��

authid ��ֵ�DZ�ʶӳ����ʹ�õ� Principal������ authid Ӧ�� dn:ǰ׺�������Ŀ¼�е���Ч�û� DN���� u:ǰ׺�������ͻ���ȷ���������ַ���������Ϳ���ʹ����DIGEST-MD5 ��ʶӳ�䡱����ʾ��ӳ�䡣

ͨ���������ϣ����һ�� SSL l�����ṩͨ��ȫ�˿ڵļ��ܣ���ϣ���� DIGEST-MD5 �Ա��ṩ�ͻ�����֤�������ʾ��ͨ�� SSL ִ����ͬ����

ldapsearch -h host -p securePort \
           -Z -P .mozilla/bjensen/string.slt/cert8.db \
           -N "certificateName" -W keyPassword \
           -o mech=DIGEST-MD5 [-o realm="hostFQDN"] \
           -o authid="dn:uid=bjensen,dc=example,dc=com" \
           -o authzid="dn:uid=bjensen,dc=example,dc=com" \
           -b "dc=example,dc=com" "(givenname=Richard)"

�ڴ�ʾ���У�-N �� -W ѡ���� ldapsearch �������ģ������Dz������ڿͻ�����֤���෴���������ٴ�ִ�о��� authid ֵ�� Principal �� DIGEST-MD5 ��ʶӳ�䡣

�ڿͻ�����ʹ�� Kerberos SASL GSSAPI

�ڿͻ�����ʹ�� GSSAPI ����ʱ������Ҫ��װ�û�֤�飬���������� Kerberos V5 ��ȫϵͳ�����ң����ϣ��ʹ�ü��ܵ� SSL l�ӣ���������η�����֤�飬�����ڿͻ��������÷�������֤��������

�ڿͻ������������ Kerberos V5

�����ڽ����� LDAP �ͻ������������� Kerberos V5��

  1. �밴���䰲װ˵��4��װ Kerberos V5��Sun ���鰲װ Sun Enterprise Authentication Mechanism (SEAM) 1.0.1 �ͻ��������
  2. ���� Kerberos �����ʹ�� SEAM������ /etc/krb5 �µ��ļ����Ա����� kdc ���������Ĭ�������Լ� Kerberos ϵͳҪ��������������á�
  3. ��Ҫʱ���޸��ļ� /etc/gss/mech�������г�ĵ�һ��ֵΪ kerberos_v5��

ָ�� SASL ѡ���Խ��� Kerberos ��֤

  1. ʹ�������� GSSAPI �Ŀͻ���Ӧ�ó���ǰ������ʹ������������ʼ�������û� Principal �� Kerberos ��ȫϵͳ��
  2. kinit userPrincipal

    userPrincipal �� SASL ��ʶ������ bjensen@example.com��

  3. ldapsearch ���ߵ�����ʾ��˵�������ʹ�� -o��o ΪСд��ĸ��ѡ��4ָ������ʹ�� Kerberos �� SASL ѡ�
  4. ldapsearch -h host -p securePort \
               -Z -P .mozilla/bjensen/string.slt/cert8.db \
               -N "certificateName" -W keyPassword \
               -o mech=GSSAPI [-o realm="example.com" \
               -o authid="bjensen@example.com" \
               -o authzid="bjensen@example.com"] \
               -b "dc=example,dc=com" "(givenname=Richard)"

  5. �ڴ�ʾ���У�-N �� -W ѡ���� ldapsearch �������ģ������Dz������ڽ��пͻ�����֤�����Ժ��� realm��authid �� authzid��������Ϊ���ǽ��������� kinit �����ʼ���� Kerberos �����С������֣���Ȼδʹ������������� authzid���� authid �� authzid ������ͬ��authid ��ֵ�DZ�ʶӳ����ʹ�õ� Principal���й���ϸ��Ϣ���������GSSAPI ��ʶӳ�䡱��


��һ��      Ŀ¼      ����      ��һ��     


��Ȩ���� 2004 Sun Microsystems, Inc. ��������Ȩ��