Sun logo      �W�@��      �ؿ�      �U�@��     

Sun Java System Application Server Enterprise Edition 8.1 �޲z��n 2005Q1

�� 15 ��
�t�m�T���w����

�����y�z�p��b Sun Java System Application Server 8.1 2005Q1 ���� Web �A�Ȱt�m�T���h�w���ʡC�����]�t�H�U�D�D�G

���������Y�Ǥ��e���]�z��w���ʩM Web �A�ȷ��$w���򥻪��A�ѡC�Y�n�`�J�A�ѳo�Ƿ��!A�Цb�}�l�\Ū�������e��J�Ӿ\Ū�ԲӸ�T���C�X�����e�C


���T���w����

�T���w���ʷ��p

�b�T���w�������A�w���ʸ�T�|���J��T�����A�H�Ϩ�z�L���h�ǿ�ê��a�T����F�T���ؼСC�T���w���ʻP�ǿ�h�w���ʤ��P (�b�uJ2EE 1.4 Tutorial�v���uSecurity�v�@����������)�A�]���T���w���ʥi�Ω�N�T���O�@�q�T���ǿ餤����}�A�q�ӨϰT���b�ǿ�ᤴ�O���O�@���A�C

Web �A�Ȧw���ʡGSOAP �T���w���� (WS-Security) �����q Web �A�Ȧw���ʪ���ڼзǡA�O�� Web �A�ȧ޳N���Ҧ��D�n���Ѫ� (�]�A Sun Microsystems) �b OASIS ����@�}�o���CWS-Security �O�@�ذT���w���ʾ��A���ϥ� XML �[�K�M XML �Ʀ�ñ�W�ӽT�O�g�� SOAP �ǰe�� Web �A�ȰT�����w���CWS-Security �W��w�q�F�h�ئw���ʰO�� (�]�A X.509 �ҮѡBSAML ���]�M�ϥΪ̦W��/�K�X�O��) ���ϥΡA�H�{�ҩM�[�K SOAP Web �A�ȰT���C

�i�z�L�H�U URL �˵� WS-Security �W��G

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf

�A�� Application Server �����T���w����

Sun Java System Application Server 8.1 2005Q1 �b�� Web �A�ȥΤ�ݩM��A���ݮe�������ѹ� WS-Security �зǪ���X���䴩�C��X���\���AWeb �A�Ȧw���ʥi�ѥN��3�ε{���� Application Server ���e���ӱj����A�åB�i�H�Ω�O�@��� Web �A��3�ε{���A�L���ܧ�3�ε{������@�CApplication Server �z�L���Ѥu��N SOAP �h�T���w���ʴ��Ѫ̩M�T���O�@�����s����e���M�e�������p��3�ε{���A�ӹF�즹�ĪG�C

��w�T���w����¾�d

�b Sun Java System Application Server 8.1 2005Q1 ���A�t�κ޲z���M3�ε{�����p�H������3�D�n�t�d�t�m�T���w���ʡC���ަb�q�`���p�U�A��L��Ө��⤧�@�b���A�Ψ�}�o�̪����U�N�i�H�T�O�{��3�ε{�����w���A�B�L���ܧ���@�A��b�Y�DZ��p�U�A3�ε{���}�o�H���i��]�|���ҧ@�ΡC�H�U�p�`�w�q�F�U�ب��⪺¾�d�G

�t�κ޲z��

�t�κ޲z��t�d�G

�t�κ޲z��ϥκ޲z�D���x�Ӻ޲z��A���w���ʳ]�w�A�èϥΫ�O��u��Ӻ޲z�ҮѸ�Ʈw�C�b PE ���A�ҮѩM�p�K���_�x�s�b���_�x�s�Ϥ��A�å� keytool �i��޲z�CSE �M EE �N�ҮѩM�p�K���_�x�s�b NSS ��Ʈw���A�èϥ� certutil ���i��޲z�C�����D�n�A�Ω�t�κ޲z��C�p�ݦ���T���w���ʧ@�~�����p�A�аѾ\�t�m Application Server �H��{�T���w�����C

3�ε{�����p�H��

3�ε{�����p�H��t�d�G

�uDeveloper's Guide�v���uSecuring Applications�v�@�����N�Q�׳o�Ǧw���ʧ@�~�C(�p�ݦ����V�ӳ����s���A�аѾ\�ԲӸ�T�C)

3�ε{���}�o�H��

3�ε{���}�o�̥i�H�ҥΰT���w���ʡA��ä��O�����n�o�˰��C�T���w���ʥi�H�Ѩt�κ޲z��]�w�A�H�K�T�O�Ҧ� Web �A�Ȫ��w���F�p�G�s����3�ε{�������Ѫ̩ΫO�@�������P��s����e�������Ѫ̩ΫO�@�����A�T���w���ʫh��3�ε{�����p�H��]�w�C

3�ε{���}�o�̩β�Ķ�̭t�d�G

���w���ʰO���M�w���ʾ��

WS-Security �W�欰�ϥΦw���ʰO���ӻ{�ҩM�[�K SOAP Web �A�ȰT�����ѤF�i������C�i�H�ϥλP Application Server �@�_�w�˪� SOAP �h�T���w���ʴ��Ѫ̨ӿ��ϥΪ̦W��/�K�X�M X509 �ҮѦw���ʰO���A�H�{�ҩM�[�K SOAP Web �A�ȰT���C����L�w���ʰO�� (�]�A SAML ���]) ����L���Ѫ̱N�P Application Server �����򪩥��@�_�w�ˡC

���ϥΪ̦W�ٰO��

Application Server �ϥ� SOAP �T�������ϥΪ̦W�ٰO���ӫإ߰T���H������{�Ҩ���C�]�t�ϥΪ̦W�ٰO�� (�b���O�K�X��) ���T�����H�H�z�L�T�{�H��̬O�_���D�ϥΪ̪����K (�Y�K�X)�A�����ҰT���H��̬O�_�g�L���v�����ϥΪ� (�b�O�����ѧO)�C

�ϥΨϥΪ̦W�ٰO���ɡA�����b Application Server ���t�m���Ī��ϥΪ̸�Ʈw�C�p�ݦ���ӥD�D����h��T�A�аѾ\�s��d���C

���Ʀ�ñ�W

Application Server �ϥ� XML �Ʀ�ñ�W�N�{�Ҩ���s����T�����e�C�Τ�ݨϥμƦ�ñ�W�ӫإߩI�s�̨���A���k�P�ϥζǿ�h�w���ʮɥΰ򥻻{�ҩ� SSL �Τ���Үѻ{�ҫإߩI�s�̨����k�ۦ�C�T������̱N���ҼƦ�ñ�W�H�{�ҰT�����e���� (�i��P�T���H��̤��P)�C

�ϥμƦ�ñ�W�ɡA�����b Application Server ���t�m���Ī����_�x�s�ϩM�H���x�s���ɮסC�p�ݦ���ӥD�D����h��T�A�аѾ\����Ү��ɮ��C

���[�K

�[�K���ت��O�N��ƭקאּ�u���ؼ�Ū�̤~��z�Ѫ��Φ��C�[�K�{�dzz�L�Υ[�K���44���l���e�ӧ����C�P���}���_�[�K��X�����ˡA�i�H�ϥΥ[�K�ӫإ߯��\Ū�T�����@��Φh�設��C

�ϥΥ[�K�ɡA������w�ˤ䴩�[�K�� JCE ���Ѫ̡C�p�ݦ���ӥD�D����h��T�A�аѾ\�t�m JCE ���Ѫ��C

���T���O�@����

�T���O�@�����O�w��ШD�T���B�z�M�^3�T���B�z�өw�q���A�îھڹ﷽�M/�Φ��H�H�{�Ҫ��ݨD�Ӷi���ܡC�ӷ��{�ҵ����N��@�ӻݨD�A�Y�����b�T�����إߤw�ǰe�T���Τw�w�q�T�����e�����餧����A�H�Ϩ�i�H�ѰT������̶i��{�ҡC���H�H�{�ҵ����N��@�ӻݨD�A�Y�����ǰe�T���A�H�ϥi�H�����T�������餧����i�ѰT���H��̫إߡC���Ѫ̮M�ίS�w���T���w���ʾ��A�H�ϰT���O�@�����b SOAP Web �A�ȰT�����W�U�夤��{�C

�ШD�M�^3�T���O�@�����O�b�N���Ѫ̰t�m��e���ɩw�q���C�S�w��3�ε{�����T���O�@���� (�ӽo�{�׬� Web �A�ȳs����Χ@�~) �]�i�H�b3�ε{����3�ε{���Τ�ݪ��S�w�� Sun �����p�y�z�����i��t�m�C�b��󱡪p�U�A�p�G�w�q�F�T���O�@�����A�h�Τ�ݪ��ШD�M�^3�T���O�@���������P��A�����ШD�M�^3�T���O�@�����ۤǰt (�Y�G�̬۷�)�C�p�ݦ���w�q�S�w��3�ε{�����T���O�@��������h��T�A�аѾ\�uDeveloper's Guide�v���uSecuring Applications�v�@���C�ԲӸ�T�]�t��V�ӳ����s���C

�T���w���ʳN�y�r�J��

�H�U���e�y�z����󤤩ҨϥΪ��N�y�C�t�m Application Server �H��{�T���w�������]����F�o�Ƿ��!C

�T�O Web �A�Ȫ��w��

�z�L�N SOAP �h�T���w���ʴ��Ѫ̩M�T���O�@�����s���쳡�p��3�ε{�����e���γs����3�ε{�����Ѫ� Web �A�Ⱥ��I�A�ӽT�O�b Application Server �����p�� Web �A�Ȫ��w���C�z�L�N SOAP �h�T���w���ʴ��Ѫ̩M�T���O�@�����s����Τ�ݮe���γs����ѥΤ��3�ε{���ŧi���i�⦡�A�ȰѷӡA�q�Ӧb Application Server ���Τ�ݮe�����t�m SOAP �h�T���w���ʥ\��C

�w�ˤF Application Server ��A�N�b Application Server ���Τ�ݩM��A���ݮe�����t�m SOAP �h�T���w���ʴ��Ѫ̡A�䤤�o�Ǵ��Ѫ̥i�Ѯe���Ϊ̥Ѯe�������p���U��3�ε{���ΥΤ�ݶi��s���ϥΡC�b�w�˵{�Ǥ��A�o�Ǵ��Ѫ̰t�m²�檺�T���O�@�����A�Y�p�G�s����e���Ϊ̳s����e������3�ε{���ΥΤ�ݡA�h�N�ɭP�Ҧ��ШD�M�^3�T�������e�������� XML �Ʀ�ñ�W�i��{�ҡC

�i�H�ĥ� Application Server ���޲z�����A�q�ӳs���{�����Ѫ̥H�� Application Server ����A���ݮe���ϥΡA�ק�Ѵ��Ѫ̱j���檺�T���O�@�����A�Ψϥδ%N���T���O�@�����ӫإ߷s�����Ѫ̰t�m�C�Ω�T���w���ʪ��޲z�D���x�@�~���w�q�F�o�ǧ@�~�C�i�H�b3�ε{���Τ�ݮe���� SOAP �T���h�w���ʰt�m�W�������޲z�@�~ (�p�u�ҥΥΤ��3�ε{�����T���w�����v���ҩw�q)�C

�̹w�]�AApplication Server �����T���h�w���ʳB�󰱥Ϊ��A�C�Y�n�t�m Application Server ���T���h�w���ʡA�Ы���t�m Application Server �H��{�T���w�������C�X���B�J�i��ާ@�C�p�G�z�n�� Web �A�Ȧw���ʥΩ�O�@�b Application Server �W���p���Ҧ� Web �A��3�ε{���A�Ы���ҥΰT���w���ʪ����Ѫ��M�ҥΥΤ��3�ε{�����T���w���������B�J�i��ާ@�C

�����H�W�B�J (�i��]�A���s�Ұ� Application Server) ��AWeb �A�Ȧw���ʱN�Ω�b Application Server �W���p���Ҧ� Web �A��3�ε{���C

�t�m�S�w��3�ε{���� Web �A�Ȧw����

�z�L�b3�ε{�����S�w�� Sun �����p�y�z�����w�q message-security-binding ���!A�Ӱt�m�S�w��3�ε{���� Web �A�Ȧw���ʥ\�� (�b3�ε{����Ķ��)�C�o�� message-security-binding ���%Ω�N�S�w���Ѫ̩ΰT���O�@�����P Web �A�Ⱥ��I�ΪA�ȰѷӬ����p�A�òŦX�n�D�H�Ϩ�M�Ψ��3���I�ΰѷӪ��A�Ȫ��S�w�s����Τ�k�C

�p�ݦ���w�q�S�w��3�ε{�����T���O�@��������h��T�A�аѾ\�uDeveloper's Guide�v���uSecuring Applications�v�@���C�ԲӸ�T�]�t��V�ӳ����s���C

�T�O�d��3�ε{�����w��

Application Server �H���W�� xms ���d��3�ε{���Cxms 3�ε{���㦳²�檺 Web �A�ȥ\��A���� J2EE EJB ���I�M Java Servlet ���I�@�P��@�C�o��Ӻ��I�@�ΦP�@�ӪA�Ⱥ��I�����C�A�Ⱥ��I�����w�q�F��@�@�~ (sayHello)�A���@�~�N���r��޼ơA�ê�^�ѩI�s�޼ƥ[�e�m�� Hello �Ҳզ��� String�C

xms �d��3�ε{���Ω󻡩� Application Server �� WS-Security �\�ध�ϥΡA�H�T�O�{�� Web �A��3�ε{�����w���C�d���H��������y�z�F�p��ҥ� Application Server �� WS-Security �\��A�H�Ϩ�Ω�T�O xms 3�ε{�����w���C�d���ٻ���F WS-Security �\���3�ε{���������s�� (�p�u�t�m�S�w��3�ε{���� Web �A�Ȧw�����v���ҭz)�A�H�Ϩ�S�w�M�Ω�3�ε{���C

xms �d��3�ε{���w�˦b�H�U�ؿ�Ginstall_dir\samples\webservices\security\ejb\apps\xms\

�p�ݦ���sĶ�B�ʸ˩M��� xms �d��3�ε{������T�A�аѾ\�uDeveloper's Guide�v���uSecuring Applications�v�@���C�ԲӸ�T�]�t��V�ӳ����s���C

�t�m Application Server �H��{�T���w����

Application Server �ϥ� SOAP �B�z�h����X���T���w���ʴ��Ѫ̨ӹ�@�T���w���ʡC�T���w���ʴ��Ѫ̨�M�� Application Server ����L�w���ʤu��C

�Y�n�t�m�o�Ǩ�L�u��A�а��H�U�B�J�G

  1. �p�G�ϥΪ� Java SDK �������� 1.5.0�A�ӥB�ϥΤF�[�K�޳N�A�аt�m JCE ���Ѫ̡C
  2. �t�m JCE ���Ѫ�������F�p��t�m JCE ���Ѫ̡C

  3. �p�G�ϥΤF�ϥΪ̦W�ٰO���A�Цb���n�ɰt�m�ϥΪ̸�Ʈw�C�ϥΨϥΪ̦W��/�K�X�O���ɡA�����t�m�A�?�d��A�ì��ӽd��t�m�A�?�ϥΪ̸�Ʈw�C
  4. �s��d��������F�p��t�m�ϥΪ̸�Ʈw�C

  5. �޲z�ҮѩM�p�K���_ (�p�����n)�C
  6. ����Ү��ɮ�������F�p��޲z�ҮѩM�p�K���_�C

�p�G�w�N Application Server ���u��t�m���ѰT���w���ʴ��Ѫ̨ϥΡA�h�i��|�ҥ��H Application Server �@�_�w�˪����Ѫ� (�p�u�ҥΰT���w���ʪ����Ѫ��v���ҭz)�C

�t�m JCE ���Ѫ�

J2SE 1.4.x ���]�A�� Java �[�K�X�i (JCE) ���Ѫ̤��䴩 RSA �[�K�C�ѩ�� WS-Security �w�q�� XML �[�K�q�`�O��� RSA �[�K�A�]���A�Y�n�ϥ� WS-Security �ӥ[�K SOAP �T���A�z�����U��æw�ˤ䴩 RSA �[�K�� JCE ���Ѫ̡C

�Ƶ�JRSA �O RSA Data Security, Inc. �}�o�����}���_�[�K�޳N�CRSA �����r���Y���'O�N��ӧ޳N���T��o��̡GRivest�BShamir �M Adelman�C

�p�G�O�b 1.5 ���� Java SDK ����� Application Server�A�h JCE ���Ѫ̤w�i�楿�T�t�m�C�p�G�O�b 1.4.x ���� Java SDK ����� Application Server�A�а��U�C�B�J�H�R�A�覡�N JCE ���Ѫ̼W�[�� JDK ��Ҫ��@���!C

  1. �U��æw�� JCE ���Ѫ� JAR (Java �k��) �ɮסC�z�L�H�U URL �i�H��o�䴩 RSA �[�K�� JCE ���Ѫ̤��M��G
  1. �N JCE ���Ѫ� JAR �ɮ׽ƻs�� <JAVA_HOME>/jre/lib/ext/ ���C
  2. ���� Application Server�C�p�G������ Application Server �ӫ�ӤS�b�ӵ{�Ǥ����s�ҰʤF Application Server�A�h Application Server �N�L�k�ѧO JCE ���Ѫ̡C
  3. �b���@�ؤ�r�s�边���s�� <JAVA_HOME>/jre/lib/security/java.security �S���ɮסC�N��U�� JCE ���Ѫ̼W�[�즹�ɮסCjava.security �ɮץ]�t�Ω�W�[�Ӵ��Ѫ̪��Բӻ���C�q�`�A�z�ݭn�b�㦳����S�ʪ��Y�Ӧ�m�B�W�[�@��A��榡�p�U�G
  4. security.provider.<n>=<provider class name>
  1. �x�s�����ɮסC
  2. ���s�Ұ� Application Server�C


�Ω�T���w���ʪ��޲z�D���x�@�~

���ϥΰT���w���ʦӹ� Application Server �]�w���j�h�ƨB�J���i�H�z�L�ϥκ޲z�D���x�Basadmin ��O��u��γz�L��ʽs��t���ɮרӧ����C�q�`�A����ij�ϥνs��t���ɮסA�]�����i��|���X�L�N�Ѫ��ܧ�Ө� Application Server ���ॿ�`�@�~�A�]���A�p���i��A��ij�u���ܨϥκ޲z�D���x�Ӱt�m Application Server�A�M���ܨϥ� asadmin �u���O�C�Ȧb�L�޲z�D���x�ε��� asadmin �ɡA�~�ϥΤ�ʽs��t���ɮסC

�H (�i������) �{�ҼҲժ��Φ��N�T���h�w���ʤ䴩��X�� Application Server �Ψ�Τ�ݮe�����C�̹w�]�AApplication Server �����T���h�w���ʳB�󰱥Ϊ��A�C�H�U�p�`���ѥΩ�ҥΡB�إߡB�s��M�R���T���w���ʰt�m�M���Ѫ̪��ԲӸ�T�C

�j�h�Ʊ��p�U�A�b���H�W�޲z�@�~��3���s�Ұ� Application Server�C���ר�A�Ω���槹�@�~�ɡA�z�n�N�޲z�ܧ󪺮ĪG�M�Ψ� Application Server �W�w���p��3�ε{���������p�C

�ҥΰT���w���ʪ����Ѫ�

�Y�n���b Application Server �����p�� Web �A�Ⱥ��I�ҥΰT���w���ʡA�h������w�n�b��A���ݨ̹w�]�ϥΪ����Ѫ̡C�p�G�ҥΤF�T���w���ʪ��w�]���Ѫ̡A�z�ٻݭn�ҥΥ� Application Server �����p�� Web �A�Ȥ��Τ�ݩҨϥΪ����Ѫ̡C�ҥΥΤ��3�ε{�����T���w����������F����ҥΥΤ�ݨϥΪ����Ѫ̤���T�C

�Y�n�ҥη��ۤw���p���I�� Web �A�ȩI�s���T���w���ʡA�z������w�w�]�Τ�ݴ��Ѫ̡C�p�G�w�� Application Server �ҥΤF�w�]�Τ�ݴ��Ѫ̡A�h�����T�w�q Application Server �����p�����I�ҩI�s���Ҧ��A�ȧ��t�m���P�T���h�w���ʬۮe�C

�Y�n�� Application Server �ҥιw�]���Ѫ̡A�а��H�U�B�J�C

  1. �b�޲z�D���x��Τ��󤤡A��� [�t�m] �`�I�C
  2. ���n�t�m����ҡG
    1. �Y�n�t�m�S�w����ҡA�п��ӹ�Ҫ��t�m�`�I�C�Ҧp�A���w�]��� server�A�п�� server-config �`�I�C
    2. �Y�n�t�m�Ҧ���Ҫ��w�]�]�w�A�п�� default-config �`�I�C
  3. �i�} [�w����] �`�I�C
  4. �i�} [�T���w����] �`�I�C
  5. ��� [SOAP] �`�I�C
  6. ��� [�T���w����] ���ҡC
  7. �b [�s��T���w���ʰt�m] �������A���|���s���S�w���Ѫ̪��Ҧ�3�ε{���A��w�@�ӭn�Ω��A���ݪ����Ѫ̩M�@�ӭn�Ω�Τ�ݪ����Ѫ̡C�z�L�ק�H�U��ܩʯS�ʨӧ������ާ@�G
    • �w�]���Ѫ� �w �Ω󬰩|���s���S�w��A�����Ѫ̪����3�ε{���ѧO�n�I�s����A�����Ѫ̡C

      �̹w�]�A�S���� Application Server ����󴣨Ѫ̰t�m�C�Y�n�ѧO��A���ݴ��Ѫ̡A�п�� ServerProvider�C���ſﶵ�N��ۤ��|�b��A���� (�̹w�]) �I�s�T���w���ʴ��Ѫ̡C

      �b����줤�A�q�`3��� ServerProvider�C

    • �w�]�Τ�ݴ��Ѫ� �w �Ω󬰩|���s���S�w��A�����Ѫ̪����3�ε{���ѧO�n�I�s���Τ�ݴ��Ѫ̡C
    • �̹w�]�A�S���� Application Server ����󴣨Ѫ̰t�m�C�Y�n�ѧO�Τ�ݴ��Ѫ̡A�п�� ClientProvider�C���ſﶵ�N��ۤ��|�b�Τ�� (�̹w�]) �I�s�T���w���ʴ��Ѫ̡C

      �b����줤�A�q�`3���ŭȡC�p�G�z�n�ҥιw�]���Ѫ̩M�T���O�@�����H�M�Ψ췽�۳��p�� Application Server �W�� Web �A�Ⱥ��I�� Web �A�ȩI�s�A�h3��� ClientProvider�C

  8. ��@�U [�x�s]�C
  9. �p�G�z�w�ҥΥΤ�ݩΦ�A�����Ѫ̡A�åB�n�ק�w�ҥΪ����Ѫ̤��T���O�@�����A�аѾ\�t�m�T���w���ʴ��Ѫ��A�H��o����ק�b���B�J���ұҥΪ��T���w���ʴ��Ѫ̤��t�m����T�C

���Ī� asadmin ��O���G

�t�m�T���w���ʴ��Ѫ�

�q�`3���s�t�m���Ѫ̥H�ק��T���O�@���� (���޴��Ѫ������B��@���O�M�S�w�󴣨Ѫ̪��t�m�S�ʥi��]�ݭn�ק�)�C�Ы�H�U�B�J���s�t�m�T���w���ʴ��Ѫ̡C

  1. �b�޲z�D���x��Τ��󤤡A��� [�t�m] �`�I�C
  2. ���n�t�m����ҡG
    1. �Y�n�t�m�S�w����ҡA�п��ӹ�Ҫ��t�m�`�I�C�Ҧp�A���w�]��� server�A�п�� server-config �`�I�C
    2. �Y�n�t�m�Ҧ���Ҫ��w�]�]�w�A�п�� default-config �`�I�C
  3. �i�} [�w����] �`�I�C
  4. �i�} [�T���w����] �`�I�C
  5. ��� [SOAP] �`�I�C
  6. ��� [���Ѫ�] ���ҡC
  7. ���n�s�誺�T���w���ʴ��Ѫ̡CApplication Server �H�� ClientProvider �M ServerProvider�C
  8. �b [�s�责�Ѫ̰t�m] ������ [���Ѫ̰t�m] �Ϭq�A�i�H�ק�H�U�S�ʡG
    • ���Ѫ����� �w ��� client�Bserver �� client-server�A�H�T�w�O�N���Ѫ̥ΰ��Τ�ݻ{�Ҵ��Ѫ̡B��A���{�Ҵ��Ѫ��٬O�ݥΰ���� (�D�q�����Ѫ�)�C
    • ���O�W�� �w ��J���Ѫ̪� Java ��@���O�C�Τ�ݻ{�Ҵ��Ѫ̥�����@ com.sun.xml.wss.provider.ClientSecurityAuthModule �����C��A���ݴ��Ѫ̥�����@ com.sun.xml.wss.provider.ServerSecurityAuthModule �����C�@�Ӵ��Ѫ̥i�H�P�ɹ�@�o��ؤ����A���@��3��䴣�Ѫ������������C
  9. �b [�إߴ��Ѫ̰t�m] ������ [�ШD����] �Ϭq�A�ھڻݭn��J�H�U��ܩ��ȡC�o�ǯS�ʬO��ܩʪ��A��p�G���i���w�A�h���|��ШD�T���M�Υ��{�ҡC
  1. �b [�إߴ��Ѫ̰t�m] ������ [�^3����] �Ϭq�A�ھڻݭn��J�H�U��ܩ��S�ʡC�o�ǯS�ʬO��ܩʪ��A��p�G���i���w�A�h���|��^3�T���M�Υ��{�ҡC
  1. �z�L��@�U [�W�[�S��] ��s�W�[��L�S�ʡCApplication Server �H�������Ѫ̥i�䴩�U���C�X���S�ʡC�p�G�ϥΪ��O��L���Ѫ̡A�аѾ\��L���Ѫ̪����A�H��o����S�ʩM���ĭȪ���h��T�C
    • server.config �w �]�t��A���t�m��T�� XML �ɮפ��ؿ�M�ɮצW�١C�Ҧp�Ainstall_dir/domains/domain_dir/config/wss-server-config.xml�C
  2. ��@�U [�x�s]�C

�U���C�X�F���Ī� asadmin ��O�C�Y�n�]�w�^3�����A�Х� response �@��%N�H�U��O���� request �@��C

�إ߰T���w���ʴ��Ѫ�

�Y�n�إ߷s���T���w���ʴ��Ѫ̡A�а��H�U�B�J�C�Y�n�t�m�{�����Ѫ̡A�а���t�m�T���w���ʴ��Ѫ������B�J�C

  1. �b�޲z�D���x��Τ��󤤡A��� [�t�m] �`�I�C
  2. ���n�t�m����ҡG
    1. �Y�n�t�m�S�w����ҡA�п��ӹ�Ҫ��t�m�`�I�C�Ҧp�A���w�]��� server�A�п�� server-config �`�I�C
    2. �Y�n�t�m�Ҧ���Ҫ��w�]�]�w�A�п�� default-config �`�I�C
  3. �i�} [�w����] �`�I�C
  4. �i�} [�T���w����] �`�I�C
  5. ��� [SOAP] �`�I�C
  6. ��� [���Ѫ�] ���ҡC
  7. �b [���Ѫ̰t�m] �������A��@�U [�s��]�C
  8. �b [�إߴ��Ѫ̰t�m] ������ [���Ѫ̰t�m] �Ϭq�A��J�H�U��T�G
    • �w�]���Ѫ� �w �֨������䪺���A�H�ϩ|���s���S�w���Ѫ̪��Ҧ�3�ε{���i�H�I�s�s���T���w���ʴ��Ѫ̡C���Ѫ̬O�����w�]�Τ�ݴ��Ѫ̡B�w�]��A�����Ѫ��٬O��̭ݦӦ����A��M�� [���Ѫ�����] ���ȡC
    • ���Ѫ����� �w ��� client�Bserver �� client-server�A�H�T�w�O�N���Ѫ̥ΰ��Τ�ݻ{�Ҵ��Ѫ̡B��A���{�Ҵ��Ѫ��٬O�ݥΰ���� (�D�q�����Ѫ�)�C
    • ���Ѫ� ID �w ��J�����Ѫ̰t�m���ѧO�X�C���W�ٱN��ܦb [�ثe�����Ѫ̰t�m] �M�椤�C
    • ���O�W�� �w ��J���Ѫ̪� Java ��@���O�C�Τ�ݻ{�Ҵ��Ѫ̥�����@ com.sun.xml.wss.provider.ClientSecurityAuthModule �����C��A���ݴ��Ѫ̥�����@ com.sun.xml.wss.provider.ServerSecurityAuthModule �����C�@�Ӵ��Ѫ̥i�H�P�ɹ�@�o��ؤ����A���@��3��䴣�Ѫ������������C
  9. �b [�إߴ��Ѫ̰t�m] ������ [�ШD����] �Ϭq�A�ھڻݭn��J�H�U��ܩ��ȡC�o�ǯS�ʬO��ܩʪ��A��p�G���i���w�A�h���|��ШD�T���M�Υ��{�ҡC
    • �{�Ҩӷ� �w ��� sender�Bcontent �Ϊŭ� (�ťտﶵ)�A�H�w�q��T���h�H��̻{�Ҫ��ݨD (�Ҧp�ϥΪ̦W�ٱK�X)�B���e�{�� (�Ҧp�Ʀ�ñ�W) �Τ���ШD�T���i����{�ҡC�p�G��w���ŭȡA�h���ݭn�i��ШD���ӷ��{�ҡC
    • �{�Ҧ��H�H �w ��� beforeContent �� afterContent�A�H�w�q�H��̹�ШD�T��������̤��T���h�{�Ҫ��ݨD (�Ҧp�A�z�L XML �[�K)�C�p�G����w�ӭȡA�h�䬰�w�]�� afterContent�C
    • �p�ݦ���H�U�T���O�@�����ҾɭP���� SOAP �T���w���ʴ��Ѫ̰�檺�ʧ@���y�z�A�аѾ\�ШD�����t�m�M�^3�����t�m���ʧ@�C

  10. �b [�إߴ��Ѫ̰t�m] ������ [�^3����] �Ϭq�A�ھڻݭn��J�H�U��ܩ��S�ʡC�o�ǯS�ʬO��ܩʪ��A��p�G���i���w�A�h���|��^3�T���M�Υ��{�ҡC
    • �{�Ҩӷ� �w ��� sender�Bcontent �Ϊŭ� (�ťտﶵ)�A�H�w�q�n�M�Ψ�^3�T�����T���h�H��̻{�� (�Ҧp�ϥΪ̦W�ٱK�X) �Τ��e�{�� (�Ҧp�Ʀ�ñ�W) ���ݨD�C�p�G��w���ŭȡA�h���ݭn�i��^3���ӷ��{�ҡC
    • �{�Ҧ��H�H �w ��� beforeContent �� afterContent�A�H�w�q�H��̹�^3�T��������̤��T���h�{�Ҫ��ݨD (�Ҧp�A�z�L XML �[�K)�C�p�G����w�ӭȡA�h�䬰�w�]�� afterContent�C
    • �p�ݦ���H�U�T���O�@�����ҾɭP���� SOAP �T���w���ʴ��Ѫ̰�檺�ʧ@���y�z�A�аѾ\�ШD�����t�m�M�^3�����t�m���ʧ@�C

  11. �z�L��@�U [�W�[�S��] ��s�W�[��L�S�ʡCApplication Server �H�������Ѫ̥i�䴩�U�C�S�ʡC�p�G�ϥΪ��O��L���Ѫ̡A�аѾ\��L���Ѫ̪����A�H��o����S�ʩM���ĭȪ���h��T�C
    • server.config �w �]�t��A���t�m��T�� XML �ɮפ��ؿ�M�ɮצW�١C�Ҧp�Ainstall_dir/domains/domain_dir/config/wss-server-config.xml�C
  12. ��@�U [�T�w] �x�s���t�m�A�Ϋ�@�U [���] ����Ӥ��i���x�s�C

���Ī� asadmin ��O���Gcreate-message-security-provider

�ШD�����t�m�M�^3�����t�m���ʧ@

�� 15-1 ��ܤF�T���O�@�����t�m�H�ΥѸӰt�m�� WS-Security SOAP �T���w���ʴ��Ѫ̩Ұ�檺�̲װT���w���ʧ@�~�C

�� 15-1 �T���O�@ �����P WS-Security SOAP �T���w���ʧ@�~��M

�T���O�@����

�̲ת� WS-Security SOAP �T���O�@�@�~

auth-source="sender"

���T���]�t wsse:Security ���Y�A�����Y�]�t wsse:UsernameToken (�a���K�X)�C

auth-source="content"

�� SOAP �T�����媺���e�i��ñ�W�C���T���]�t wsse:Security ���Y�A�����Y�]�t��ܬ� ds:Signature ���T������ñ�W�C

auth-source="sender"

auth-recipient="before-content"

OR

auth-recipient="after-content"

SOAP �T�����媺���e�w�i��[�K�A�åѳ̲ת� xend:EncryptedData �%N�C���T���]�t wsse:Security ���Y�A�����Y�]�t wsse:UsernameToken (�a���K�X) �M xenc:EncryptedKey�Cxenc:EncryptedKey �]�t�Ω�[�K SOAP �T�����媺���_�C�����_�b���H�H�����}���_���[�K�C

auth-source="content"

auth-recipient="before-content"

SOAP �T�����媺���e�w�i��[�K�A�åѳ̲ת� xend:EncryptedData �%N�C�� xenc:EncryptedData �i��ñ�W�C���T���]�t wsse:Security ���Y�A�����Y�]�t xenc:EncryptedKey �M ds:Signature�Cxenc:EncryptedKey �]�t�Ω�[�K SOAP �T�����媺���_�C�����_�b���H�H�����}���_���[�K�C

auth-source="content"

auth-recipient="after-content"

�� SOAP �T�����媺���e�i��ñ�W�M�[�K�A�åѳ̲ת� xend:EncryptedData �%N�C���T���]�t wsse:Security ���Y�A�����Y�]�t xenc:EncryptedKey �M ds:Signature�Cxenc:EncryptedKey �]�t�Ω�[�K SOAP �T�����媺���_�C�����_�b���H�H�����}���_���[�K�C

auth-recipient="before-content"

OR

auth-recipient="after-content"

SOAP �T�����媺���e�w�i��[�K�A�åѳ̲ת� xend:EncryptedData �%N�C���T���]�t wsse:Security ���Y�A�����Y�]�t xenc:EncryptedKey�Cxenc:EncryptedKey �]�t�Ω�[�K SOAP �T�����媺���_�C�����_�b���H�H�����}���_���[�K�C

����w�����C

�Ҳե������w���ʧ@�~�C

�R���T���w���ʰt�m

�Y�n�R���T���w���ʰt�m�A�а��H�U�B�J�C

  1. �b�޲z�D���x��Τ��󤤡A��� [�t�m] �`�I�C
  2. ���n�t�m����ҡG
    1. �Y�n�t�m�S�w����ҡA�п��ӹ�Ҫ��t�m�`�I�C�Ҧp�A���w�]��� server�A�п�� server-config �`�I�C
    2. �Y�n�t�m�Ҧ���Ҫ��w�]�]�w�A�п�� default-config �`�I�C
  3. �i�} [�w����] �`�I�C
  4. ��� [�T���w����] �`�I�C
  5. ��@�U�n�R���� [�T���w���ʰt�m] �������֨���C
  6. ��@�U [�R��]�C

�R���T���w���ʴ��Ѫ�

�Y�n�R���T���w���ʴ��Ѫ̡A�а��H�U�B�J�C

  1. �b�޲z�D���x��Τ��󤤡A��� [�t�m] �`�I�C
  2. ���n�t�m����ҡG
    1. �Y�n�t�m�S�w����ҡA�п��ӹ�Ҫ��t�m�`�I�C�Ҧp�A���w�]��� server�A�п�� server-config �`�I�C
    2. �Y�n�t�m�Ҧ���Ҫ��w�]�]�w�A�п�� default-config �`�I�C
  3. �i�} [�w����] �`�I�C
  4. �i�} [�T���w����] �`�I�C
  5. ��� [SOAP] �`�I�C
  6. ��� [���Ѫ�] �����C
  7. ��@�U�n�R���� [���Ѫ̰t�m] �������֨���C
  8. ��@�U [�R��]�C

���Ī� asadmin ��O���Gdelete-message-security-provider

�ҥΥΤ��3�ε{�����T���w����

�����t�m�Τ�ݴ��Ѫ̪��T���O�@�����A�H�Ϩ䵥�ĩ�N�P��i�椬�ʦ��ާ@����A���ݴ��Ѫ̪��T���O�@�����C�b�w�� Application Server �ɤw�t�m (��ҥ�) �����Ѫ̤w�ŦX�����p�C

�Y�n�ҥΥΤ��3�ε{�����T���w���ʡA�Эק�3�ε{���Τ�ݮe���S�w�� Sun Java System Application Server ���t�m�C

�Y�n�ҥ�3�ε{���Τ�ݤ����w�]�Τ�ݴ��Ѫ̡A�а��H�U�B�J�G

  1. ����Ҧ���M��Τ�ݮe���y�z�����Τ��3�ε{���C
  2. �b��r�s�边���}�� Sun 3�ε{���Τ�ݮe���y�z���A�Ӵy�z����� install_dir/domains/domain_dir/config/sun-acc.xml�C
  3. �N������r�W�[���ɮפ��A�H�ҥ�3�ε{���Τ�ݤ����w�]�Τ�ݴ��Ѫ̡C�ٴ��ѤF��L�N�X�A�H��ܱҥΥΤ��3�ε{�����T���w���ʤ��N�X�Ҧb����m�C�D����N�X�b�w�ˤ��i��y�����P�C�Ф��ܧ�o�ǫD�����r�C
  4. <client-container>
      <target-server name="<your_host>" address="<your_host>" port="<your_port>"/>
      <log-service file="" level="WARNING"/>
      <message-security-config auth-layer="SOAP"     default-client-provider="ClientProvider">
        <provider-config
          class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule"       provider-id="ClientProvider" provider-type="client">
          <request-policy auth-source="sender"/>
          <response-policy/>
           <property name="security.config"       value="C:/Sun/AppServer/lib/appclient/wss-client-config.xml"/>
        </provider-config>
      </message-security-config>
    </client-container>

�Τ�ݮe�����t�m���T���w���ʴ��Ѫ��ٻݭn�㦳��p�K���_�M��H���ҮѪ��s���v�C�o�N�z�L���H�U�t�ίS�� (���3�ε{���Τ�ݱҰʵ{���ɤ�) �w�q�A�?�Ȩӧ����C

�]�w3�ε{���Τ�ݰt�m���ШD�����M�^3����

�ШD�����M�^3�����w�q�P�{�Ҵ��Ѫ̰�檺�ШD�B�z�M�^3�B�z�����p���{�ҵ����ݨD�C��ӰT���H��̪����Ǫ�ܳo�ǵ����A�q�ӨϤ��e����X�{���[�K�ШD�N��۰T������̱N�b����ñ�W���e��n��T���i��ѱK�C

�Y�n��o�T���w���ʡA�����P�ɦb��A���M�Τ�ݤ��ҥνШD�����M�^3�����C�b�Τ�ݩM��A�����t�m�����ɡA�нT�w3�ε{���h�ŰT���s�����ШD/�^3�O�@���Τ�ݵ����P��A�������ۤǰt�C

�Y�n�]�w3�ε{���Τ�ݰt�m���ШD�����A�Ы���ҥΥΤ��3�ε{�����T���w�������ҭz�ק�3�ε{���Τ�ݮe���S�w�� Sun Java System Application Server ���t�m�C�b3�ε{���Τ�ݰt�m�ɮפ��A�W�[������r�H�]�w�ШD�����C���Ѫ���L�N�X�i�ΰ��ѷӡC�D����N�X�b�w�ˤ��i��y�����P�C�Ф��ܧ�o�ǫD�����r�C

<client-container>
  <target-server name="<your_host>" address="<your_host>" port="<your_port>"/>
  <log-service file="" level="WARNING"/>
  <message-security-config auth-layer="SOAP"     default-client-provider="ClientProvider">
    <provider-config
      class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule"       provider-id="ClientProvider" provider-type="client">
      <request-policy auth-source="sender | content"
        auth-recipient="
after-content | before-content"/>
      <response-policy auth-source="
sender | content"
        auth-recipient="
after-content | before-content"/>
       <property name="security.config"       value="install_dir/lib/appclient/wss-client-config.xml"/>
    </provider-config>
  </message-security-config>
</client-container>

auth-source �����ĭȥ]�A sender �M content�Cauth-recipient �����ĭȥ]�A before-content �M after-content�C�ШD�����t�m�M�^3�����t�m���ʧ@���]�t�@�Ӫ�A�Ω�y�z�o�ǭȪ��U�زզX�����G�C

�p�G���Q��w�ШD�����Φ^3�����A�бN�Ӥ��+O�d���šA�Ҧp�G

      <response-policy/>

�ԲӸ�T



�W�@��      �ؿ�      �U�@��     


Copyright 2004 - 2005 Sun Microsystems, Inc. ���v�Ҧ��C