�@�u��1��@Web�T�[�r�X�̃Z�L�����e�B�T�v�v�́AWeb�T�[�r�X�E�Z�L�����e�B�̃t���[�����[�N�̊T�v���q�ׂ��B�����Web�T�[�r�X�E�Z�L�����e�B�̍ł���{�ƂȂ�XML�f�W�^��������XML�Í��ɂ��ďq�ׂ�BXML�f�W�^��������XML�Í��͏]����ASN.1�Œ�`���ꂽCMS�����t�H�[�}�b�g��CMS�Í��t�H�[�}�b�g��1�ɔ�ׂ�XML�����Ƃ̐e�a���������A�_��ȏ�����Í������\�ƂȂ�B
��1 CMS
�Í����b�Z�[�W�\���iCryptographic Message Syntax�FRFC2630�j���߂��W����ASN.1�Œ�`����f�W�^��������Í����b�Z�[�W�̍\�����K�肵�Ă���B
�@W3C��XML�Ƀf�W�^�������ߍ��ނ��߂̕W������Ƃ�IETF�Ƃ̃W���C���g�ōs���AXML Digital Signature�W����RFC3075��2���߂��BXML�f�W�^�������́A�����A���S���Y���A�ؖ����⏐���̃^�O���߁A�C�ӂ̃f�[�^�ɑ��鏐���̂ق��AXML�����̎w�肵���G�������g��R���e���g�ɑ��ď�����t���邱�Ƃ��\�ɂ��Ă���B
�@XML�f�W�^�������ɂ́A�ȉ��̓���������B
- �����ΏہA�����A���S���Y���⏐���l����яؖ����Ȃǂ�XML�̕��@�œ��ꂵ�ĕ\���ł���B
- �f�W�^��������XML�^�O�t������ł���AASN.1�\���ɔ�ׂĕ�����₷���B
- �C�ӂ̃f�[�^�t�@�C����XML�����̑S�̂����ł͂Ȃ��AXML�����̈ꕔ�ɑ��Ă�������t���邱�Ƃ��ł��A���������⑽�d�����Ȃǂ̕��G�ȗv���ɑΉ��ł���B
- XML�����ŎQ�Ƃ���Í��A���S���Y���Ȃǂ̃I�u�W�F�N�g�̎��ʎq�́AASN.1��OID�iObject Identifier�j���w�肷��̂ɑ��āAW3C�ȂǂŒ�߂Ă���URI���Q�Ƃ���B
�@XML�����́A�w�肵�������Ώۂɑ���f�W�^�������ł���B�܂��A�����Ώۂ̃_�C�W�F�X�g�l�i�n�b�V���l�j�����߁A�_�C�W�F�X�g�l���q�v�f�Ƃ���XML�������v�f�ɓ���A����ɂ��̏������v�f�ɑ��ă_�C�W�F�X�g�l�Ə����l���v�Z���}������B�Q��URI�Ŏw�肳��鏐���Ώۂ̃f�[�^��XML�����ł������ꍇ�A�_�C�W�F�X�g�l���v�Z����O�ɂ���XML�����̐��K���iCanonicalization�FC14N�j���s���K�v������B�����XML�����ł͓��e�������ł����Ă�XML�\���ɑ}�����ꂽ��������s�Ȃǂ��C�ӂɉ����ƕ\�����قȂ�A���ʂƂ��ă_�C�W�F�X�g�l���ς��A�����l���قȂ��Ă��܂�����ł���BXML�����̐��K��������W3C�̃f�W�^���������[�N�O���[�v�iWG�j��IETF�ŕW�������s���Ă���iRFC3076�j�B
�@XML�����ɂ͌����iKeyInfo�j�v�f���w�肷�邱�Ƃ��ł��A�����ɕK�v�Ȃ珐�����،����w�肵�A���̌��J���ؖ����Ƃ���X.509�ؖ����Ȃǂ��������Ƃ��ł���B
�@XML�f�W�^�������͉��L�̂悤��Signature�v�f�Ƃ��ċL�q�����B
�@�����ŁA�g?�h��0�܂���1�A�g+�h��1�܂���1�ȏ�A�g*�h��0�܂���0�ȏ���Ӗ����A��!--xxx--���̕����͊e�v�f�̃R�����g�ł���B
<Signature ID?>�@�@�@�@�@�@�@�@<!--
XML�����v�f -->
�@�@<SignedInfo>�@�@�@�@�@�@�@�@�@�@<!--�������v�f>
�@�@�@�@<CanonicalizationMethod/>�@<!--�����Ώې��K���A���S���Y���v�f-->
�@�@�@�@<SignatureMethod/> �@�@�@�@�@�@<!--�����A���S���Y���v�f-->
�@�@�@�@(<Reference (URI=)? > �@�@�@�@�@<!--�Q�Ɨv�f�iURI�͏����Ώۂ̎��ʎq�j-->
�@�@�@�@�@�@(<Transforms>)? �@�@�@�@�@�@�@ �@<!--���K���ϊ��v���Z�X�v�f-->
�@�@�@�@�@�@<DigestMethod>�@�@�@�@�@�@�@�@�@<!--�_�C�W�F�X�g�v�Z�A���S���Y���v�f-->
�@�@�@�@�@�@<DigestValue>�@�@�@�@�@�@�@�@�@�@
<!--�����Ώۂ̃_�C�W�F�X�g�l�v�f-->
�@�@�@�@</Reference>)+�@�@�@�@�@�@�@�@�@ <!-- 1�ȏ�̎Q�Ɨv�f-->
�@�@</SignedInfo>
�@�@<SignatureValue>�@�@�@�@�@�@�@ <!--�����l�v�f-->
�@�@(<KeyInfo> �@�@�@�@�@�@�@�@�@�@�@
<!--�����v�f�F�I�v�V����-->
�@�@�@�@<KeyValue>�@�@�@�@�@�@�@�@�@�@�@<!--���،��v�f-->
�@�@�@�@<X.509Data>�@�@�@�@�@�@�@�@�@�@
<!-- X.509�ؖ����v�f-->
�@�@ </KeyInfo>)?
�@�@(<Object ID?>)*�@�@�@�@�@�@�@�@<!--
XML�����Ώۗv�f>�F�I�v�V����-->
</Signature> |
|
�}1�@XML�����̍\�� |
�@XML�����ɂ�URI�Ŏ��������Ώۂ̎w����@�̈Ⴂ�ňȉ��̂悤��3�̏����`��������B
- Detached����
�����Ώۗv�f�Ə����v�f���Ɨ����������`���isibling elements�j�ł���B
Detached�����́A�����Ώۃf�[�^�ɔC�ӂ̓d�q�t�@�C���iWord�AExcel�AMPEG�摜�f�[�^�AXML�����Ȃǁj���w�肵�āA�����Ώۃf�[�^��XML���������Ƃ͓Ɨ������O���l�b�g���[�N��[�J���t�@�C���ɒu�����Ƃ��ł���B�܂�XML��������XML�����v�f��XML�����Ώۗv�f�����ɔz�u�����邱�Ƃ��ł���B
- Enveloped����
�����v�f�������Ώۗv�f�̎q�v�f�ƂȂ鏐���`���ł���B
Enveloped�����͓��������ɕ����l�̏�����t����Ȃǂ̗p�r�ɓK���Ă���B
- Enveloping����
�����v�f�������Ώۗv�f�̐e�v�f�ƂȂ鏐���`���ł���B
Enveloping�����͏����Ώۗv�f���܂����`���ŁA��ẪJ���e�̂悤�ɏ��߂̈�t�����������J���e�ɁA���̈�t���V���������Y���������݂̂ɏ����������Ă����悤�ȗp�r�ɓK���Ă���B
�}2�@XML�����̎��
- �I���W�i���̏����Ώۂɑ��āAXML�ϊ��v���Z�X�v�f�iTransforms element�F���K���ϊ��j��K�p���āA�����Ώۂ�����B
- �����Ώۂ̃_�C�W�F�X�g�l���v�Z����B
- �Q�Ɨv�f�iReference element�j������B�Q�Ɨv�f�͏����Ώێ��ʎqURI�i�I�v�V�����j�AXML���K���ϊ��v���Z�X�v�f�i�I�v�V�����j�A�_�C�W�F�X�g�A���S���Y���v�f�ƃ_�C�W�F�X�g�l�v�f���܂ށB
- �����A���S���Y���iSignatureMethod�j�A���K���A���S���Y���iCanonicalizationMethod�j�A�Q�Ɨv�f�iReference element�j���w�肵�āA�������v�f�iSignedInfo element�j������B
- ���K���A���S���Y���ɂ�鐳�K�����s������A�����A���S���Y���Ɋ�Â��āA�������v�f�ɑ��鏐���l�iSignatureValue�j���v�Z����B
- �I�v�V�����Ƃ��ď������̂��߂Ɍ����v�f�iKeyInfo�j��������B����ɂ͏������ؗp�̌��J����Base64�ŃG���R�[�h�����l�ƁAX.509�ؖ����Ȃǂ̏��������邱�Ƃ��ł���B
- �I�v�V�����Ƃ��Ĕ폐���f�[�^�I�u�W�F�N�g�ƂȂ�I�u�W�F�N�g�v�f���w��ł���B�I�u�W�F�N�g�Ƃ��Ă͉摜�f�[�^�Ȃǃo�C�i����Base64�ŃG���R�[�h�������̂�MIME�I�u�W�F�N�g�Ȃǂ̃f�[�^�������w�肷��B
- �����v�f�iSignature element�j���\������B
�@XML�����̌��؏����ɂ́A�Q�Ɨv�f���Ə�������2�̃X�e�b�v���܂܂��B�Q�Ɨv�f���ł́A�������v�f���̊e�Q�Ɨv�f�̃_�C�W�F�X�g�l��������B�������ł́A�������v�f�ɑ��Čv�Z���ꂽ�Í��������l��������B
�@���ӂ��ׂ��Ȃ̂́AXML�����͐��m�ɋL�q����Ă���ꍇ�ł��A�ꕔ�̏������A�v���P�[�V�����ł͌��ł��Ȃ����Ƃł���B������XML�f�W�^�������d�l�̃I�v�V��������������A����ȃA���S���Y�����܂܂�A�܂��͓��ʂȎ��ʎq�iURI�j���Q�Ƃ���ꍇ�A�������A�v���P�[�V�����͂��̏����ɑΉ��ł��Ȃ����Ƃ�����B
- �������v�f�iSignedInfo�j�ɋL�ڂ���鐳�K���ϊ��⏐�����@�ŎQ�Ɨv�fURI�ɂ��w�肳�ꂽ�폐���f�[�^�Ə����l�����ؑΏۂɂȂ�B
- �������v�f���̊e�Q�Ɨv�f�ɑ��āA���L�̎Q�Ɨv�f�����s���B
- �����Ώۂ���肷��B�Ⴆ�A�Q�Ɨv�f���̏����Ώێ��ʎqURI���Q�Ƃ��A�I���W�i�������Ώۂ��擾����B�I���W�i�������ɑ��āAXML���K���ϊ��v���Z�X�v�fTransforms element��K�p�������ʂ��������ؑΏۂɂȂ�B
- �Q�Ɨv�f���ɋL�q�����_�C�W�F�X�g�A���S���Y���iDigestMethod�j��p���āA�����Ώۂ̃_�C�W�F�X�g�l���v�Z����B
- �v�Z���ʂƏ������v�f�iSignedInfo element�j���ɋL�q�����_�C�W�F�X�g�l���r����B�����A��v���Ȃ���A���͎��s�ƂȂ�B
- KeyInfo element�܂��͊O�����\�[�X���献�����擾����B
- �����v�f�iKeyInfo�j�ɂ���A�܂��́A���̂ق��̕��@�Ŏ擾�������J���ؖ����̗L������������B
- �����A���S���Y���ƌ����̗L���Ȍ��J�����g���āA�����l�����_�C�W�F�X�g�l�����߂�B
- ���߂��_�C�W�F�X�g�l�Ə��������̃_�C�W�F�X�g�l���r���A������������B
�@�ȉ���Detached�����̗�������B���K���A���S���Y���A�����A���S���Y���A�Q�Ɨv�f�i�_�C�W�F�X�g�A���S���Y���A�_�C�W�F�X�g�l�j�A�����l����ь����Ȃǂ̗v�f�̎g�p���@��������Ă���B
[s01] <Signature
�@�@�@�@�@�@Id="MyFirstSignature"
�@�@�@�@�@�@xmlns="http://www.w3.org/2000/09/xmldsig#">
[s02] �@<SignedInfo>�@�@�@�@�@�@�@ <!--�������-->
[s03] �@�@<CanonicalizationMethod Algorithm=�@<!--���K���A���S���Y��-->
�@�@�@�@�@�@�@�@"http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
[s04] �@�@<SignatureMethod �@�@�@<!--�����A���S���Y�� DSA-SHA-1-->
�@�@�@�@�@�@�@�@Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/>
�@
[s05] �@�@<Reference �@�@�@�@�@�@�@<!--�����Ώە��������L��URI���Q��-->
�@�@�@�@�@�@�@�@URI="http://www.w3.org/TR/2000/REC-xhtml1-20000126/">
[s06] �@�@�@<Transforms>
[s07] �@�@�@�@<Transform Algorithm=�@�@�@�@<!--���K���A���S���Y��-->
�@�@�@�@�@�@�@�@�@�@"http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
[s08] �@�@�@</Transforms>
[s09] �@�@�@<DigestMethod�@�@�@�@�@�@<!--�_�C�W�F�X�g�A���S���Y��-->
�@�@�@�@�@�@�@�@Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
[s10] �@�@�@<DigestValue>�@�@�@�@�@�@<!--�����Ώۂ̃_�C�W�F�X�g�l--��
�@�@�@�@�@�@�@�@j6lwx3rvEPO0vKtMup4NbeVu8nk=
�@�@�@�@�@�@�@</DigestValue>
[s11] �@�@</Reference>
[s12] �@</SignedInfo>
[s13] �@<SignatureValue> MC0CFFr... </SignatureValue>�@<!--�����l-->
[s14] �@ <KeyInfo>�@�@�@�@�@�@�@�@�@<!--�������،����-->
[s15a] �@�@<KeyValue>�@�@�@�@�@�@�@�@<!--���J���̒l-->
�@�@�@�@�@�@�@�@<RSA KeyValue>x5fd8jKn</RSA KeyValue>
�@�@�@�@�@�@ </KeyValue>
[s15b] �@�@<X.509Data>�@�@�@�@�@�@<!--X.509�ؖ�����Y�t-->
[s15c]�@�@�@�@<X.509SubjectName>cn=Suzuki,o=Entrust,c=JP</X.509SubjectName>
[s15d]�@�@�@�@<X.509Certificate>hy56Fd9XjKKu93m</X.509Certificate>
[s15e] �@�@</X.509Data>
[s16] �@ </KeyInfo>
[s17] </Signature> |
|
�}3�@XML�����̗� |
- [s02�`12]�F���ۂ̏����ΏۂƂȂ鏐�����v�f�iSignedInfo element�j�B
�������ɂ͏������v�f�ɑ��鏐���l�̌��A�������v�f���̊e�Q�Ɨv�f�_�C�W�F�X�g�l�̌��Ƃ���2�̌��v���Z�X���K�v�ł���B�����l���̂��̂͏������v�f�O�ɑ��݂���̂ɑ��āA�����l���v�Z���邽�߂̃A���S���Y���͏������v�f�Ɋ܂܂��B
- [s03]�F�������v�f�̐��K���ɗp������A���S���Y�����L�q���鐳�K�����\�b�h�v�f�iCanonicalizationMethod element�j�B
�������v�f�̃_�C�W�F�X�g�l���v�Z����O�ɁA���̐��K���A���S���Y�����g���āA�������v�f�iSignedInfo element�j�𐳋K������B
- [s04]�F���K�����ꂽ�������v�f�iSignedInfo element�j���珐���l���v�Z����̂ɗp������A���S���Y�����L�q���鏐�����\�b�h�v�f(SignatureMethod element)�B
�A���S���Y���̓_�C�W�F�X�g�A���S���Y���A���ˑ��A���S���Y������т��̂ق��̃A���S���Y���i��RSA-SHA1�j�̏W���ł���B�A�v���P�[�V�����̌݊��������߂邽�߂ɁAW3C��XML�����A�v���P�[�V�����̎����ɕK�{�ȃA���S���Y���A���E�A���S���Y���A�I�v�V�����̃A���S���Y������у��[�U�[����A���S���Y���̎d�l���K�肵�Ă���B
- [s05�`11]�F�����Ώۂ̎Q�ƁA�_�C�W�F�X�g�A���S���Y���ƃ_�C�W�F�X�g�l���L�q����Q�Ɨv�f�iReference element�j�B
- [s05]�F�Q�Ɨv�f��URI�����i�I�v�V�����j�Ƃ��āA�����Ώۂ̎Q��URI���L�q����B
- [s06�`08]�F�����Ώۂ̃_�C�W�F�X�g�l���v�Z����O�ɁA�I���W�i���̏����Ώۂ̏����v���Z�X���L�q����ϊ��v���Z�X�v�f�i�I�v�V�����j�B
�I���W�i���̏����Ώۂ̐��K���A�G���R�[�h�^�f�R�[�h�AXSLT�AXPath�Ȃǂ̃I�y���[�V�����d�l�͕ϊ��v���Z�X�v�f���ɋL�q�����B���̗v�f���L�q���Ȃ��ꍇ�A�I���W�i���̏����Ώۂɑ��Ē��ڃ_�C�W�F�X�g�l���v�Z���邱�ƂɂȂ�B
- [s09]�F�����Ώۂ̕ϊ��v���Z�X�v�f�̓K�p��ɁA�_�C�W�F�X�g�l���v�Z����A���S���Y�����L�q����v�f�iDigestMethod element�j�B
- [s10]�F�_�C�W�F�X�g�A���S���Y���Ɋ�Â��Čv�Z����鏐���Ώۂ̃_�C�W�F�X�g�l���L�q����v�f�iDigestValue element�j
- [s14�`16]�F������������ۂɎg���錮�̏����L�q����v�f�iKeyInfo elment�j�B
���̖��O�A���̒l�AX.509�ؖ����Ȃǂ̋L�q���������Ɋ܂܂��B�@
�@XML�Í���W3C��3�ōŏI�I�Ȋ����Ƃ��Ă܂Ƃ߂��Ă�����̂ł���BXML�Í���XML�����Ɠ��l��ASN.1�̃t�@�C���x�[�X�̈Í����ɔ�ׂď_��ȗ��p���\�ł���BXML�Í��̈Í����Ώۂ͔C�ӂ̃f�[�^�i��XML���܂ށj�̈Í�������ł͂Ȃ��A�C�ӂ�XML�̗v�f��R���e���g�̈Í������\�ł���B�t�@�C���x�[�X�̈Í����̏ꍇ�ɂ́A�������s��Ȃ���Γ��e�ɉ���������Ă��邩������Ȃ����AXML�̗v�f���x���̈Í����ɂ���ĕ����̒��̖{���ɔ铽���ׂ������݂̂��Í������邱�Ƃ��\�ŁA���̂ق��̕����͉ǐ����ێ��ł���B����͗Ⴆ�A�������ȂǂŖ{���Ƀv���C�o�V�[�̕ی삪�K�v�ȃN���W�b�g�ԍ��̓��͗v�f�����݂̂�铽����Ȃǂ̗��p���\�ɂȂ�B
�@XML�Í��́AXML�����Ɠ��l�Ɉȉ��̓���������B
- �Í��ΏہA�Í��A���S���Y���⏐���l����яؖ����Ȃǂ�XML�̕��@�œ��ꂵ�ĕ\���ł���B
- �Í��\����XML�^�O�t���ł���AASN.1�\���ɔ�ׂĕ�����₷���B
- �C�ӂ̃f�[�^�t�@�C����XML�����̑S�̂����ł͂Ȃ��AXML�����̈ꕔ�ɑ��Ă̈Í������ł��A���l�Ȍ`���̈Í������̍쐬�ɏ_��ɑΉ��ł���B
- XML�Í��ŎQ�Ƃ���Í��A���S���Y���Ȃǂ̃I�u�W�F�N�g�̎��ʎq�́AASN.1��OID�iObject Identifier�j���w�肷��̂ɑ��āAW3C�ȂǂŒ�߂Ă���URI���Q�Ƃ���B
�@XML�Í��̍\�����}4�Ɏ����悤��EncryptedData�Ŏw�肳���B
- EncryptionMethod�͈Í��������w�肷����̂ŁA3DES-CBC��AES128-CBC�Ȃǂ̋��ʌ��A���S���Y�����w�肷��B
- ds:KeyInfo��XML�����Œ�߂��������w�肷����̂ŁA�q�v�f��EncryptedKey�ŋ��ʌ������J���ňÍ����������f�[�^���w�肷��B�����Č��̖��́i���̏��L�Җ��j���w�肷��B
- CipherData�v�f�ł͋��ʌ��ňÍ��������f�[�^��CipherValue�v�f��base64�ŃG���R�[�h�����l���u�����B
<EncryptedData Id? Type?>�@�@<!--���f�[�^�v�f-->
�@�@<EncryptionMethod/>?�@�@�@�@�@�@�@<!--�Í������A3DES��AES�Ȃǂ��w��-->
�@�@�i<ds:KeyInfo>�@�@�@�@�@�@�@�@�@�@�@�@ <!--XML�����i�����j�Ɠ��������v�f-->
�@�@�@�@<EncryptedKey>?�@�@�@�@�@�@�@�@ �@�@<!--���J���ňÍ����������ʌ��v�f-->
�@�@�@�@<ds:KeyName>?�@�@�@�@�@�@�@�@�@�@�@ <!--���̖��́i���̏��L�Җ��j-->
�@�@�@�@<ds:RetrievalMethod>?�@�@�@�@�@�@�@<!--�����̌������@�v�f-->
�@�@</ds:KeyInfo>�j?�@�@�@�@�@�@�@�@�@�@�@<!--�����v�f�F�I�v�V����-->
�@�@<CipherData>�@�@�@�@�@�@�@�@�@�@�@�@ <!--�����f�[�^�v�f-->
�@�@�@�@<CipherValue>?�@�@�@�@�@�@�@�@�@�@�@ <!--�Í������ꂽ�f�[�^�l-->
�@�@</CipherData> �@�@
</EncryptedData> |
|
�}4�@XML���\�� |
�@�����Ŏ�����XML�Í��\���͗v�_�����������̂ŁA���ۂ͌����̓��e��Í��f�[�^�Ȃǂ��ԐڎQ�Ƃ�������@������B
�@�����ł̓I���W�i����XML�������ǂ̂悤�ɈÍ�������邩�����Ă݂悤�B�}5�ɃN���W�b�g�J�[�h���g�����x�����f�[�^��XML�����������B���F�̕�����CreditCard�v�f�ł���B
<?xml version='1.0'?>
<PaymentInfo xmlns='http://example.org/paymentv2'>
�@�@<Name>��@�D��</Name>
�@�@<CreditCard Limit='500,000' Currency='\'>
�@�@�@�@<Number>4019 2445 0277 5567</Number>
�@�@�@�@<Expiration>04/02</Expiration>
�@�@�@�@<Issuer>ABC��s</Issuer>
�@�@</CreditCard>
</PaymentInfo> |
|
�}5�@�I���W�i����XML���� |
�@�Í��������������̓N���W�b�g�J�[�h�̃f�[�^�ŁACreditCard�v�f�S�̂�XML�Í����v���Z�b�T�ňÍ����������ʂ��}6�̂悤�ɂȂ�B�����ł�CreditCard�v�f��EncryptedData�v�f�ɒu���������A�Í������ꂽ�f�[�^��CipherData�v�f��CipherValue��Base64�ŃG���R�[�h����邱�ƂɂȂ�B
�@���̗��CreditCard�v�f�S�̂��Í����������̂����A�N���W�b�g�J�[�h�̔ԍ��i�R���e���g�j�݂̂��Í������邱�Ƃ��ł���B
<?xml version='1.0'?>
<PaymentInfo xmlns='http://example.org/paymentv2'>
�@�@ <Name>��ؗD��</Name>
�@�@<EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element'
�@�@�@xmlns='http://www.w3.org/2001/04/xmlenc#'>
�@�@�@�@<CipherData>
�@�@�@�@�@<CipherValue>A23B45C56</CipherValue>
�@�@�@�@</CipherData>
�@�@</EncryptedData>
</PaymentInfo> |
|
�}6�@XML�Í����̗� |
�@���̗�ł͈Í������̏��KeyInfo�����܂߂Ă��Ȃ��̂ŁA�������Í������邽�߂̋��ʌ��̃A���S���Y���⌮�̒l�͂��炩���ߒm���Ă��邱�ƂƂ��Ă���B
�@�����APKI�̊��ň���A�R�c���Y�̌��J�����g���ĕ����̈Í����̂��߂̋��ʌ����Í�������XML�Í����ɓY�t����ꍇ�́A�}7�̂悤��EncryptedData�v�f�̎q�v�f�ɕ����Í����̂��߂̋��ʌ��̃A���S���Y����EncriptionMethod���̎w��ƁA��KeyInfo���Ɉ���̌��J�������w�肷�邱�ƂɂȂ�B
<EncryptedData
Id='ED' xmlns='http://www.w3.org/2001/04/xmlenc#'>
�@�@<EncryptionMethod <!--���ʌ�3DES-CBC���w��-->
�@�@�@�@Algorithm='http://www.w3.org/2001/04/xmlenc#3DES-cbc'/>
�@�@<!--���ʌ�3DES�������J��RSA�ňÍ���-->
�@�@<EncryptedKey Id='EK' xmlns='http://www.w3.org/2001/04/xmlenc#'>
�@�@�@�@<EncryptionMethod
<!--���J��RSA-PKCSv1.5���w��-->
�@�@�@�@�@�@Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
�@�@�@�@<ReferenceList>
�@�@�@�@�@�@<DataReference URI='#ED'/>
<!--���ʌ��ňÍ��������f�[�^�ւ̎Q��-->
�@�@�@�@</ReferenceList>
�@�@�@�@<ds:KeyInfo xmlns:ds='http://www.w3.org/2000/09/xmldsig#'>
�@�@�@�@�@�@<ds:KeyName>�R�c���Y</ds:KeyName>�@�@<!--���J���̏��L�Җ�-->
�@�@�@�@</ds:KeyInfo>
�@�@�@�@<CipherData>
�@�@�@�@�@�@<CipherValue>xyzabc</CipherValue>�@<!--3DES�������J���ňÍ���-->
�@�@�@�@</CipherData>
�@�@</EncryptedKey>
�@�@<ds:KeyInfo>
�@�@�@�@<xenc:EncKeyReference URI='#EK'/>�@�@<!--���Í��ւ̎Q��-->
�@�@</ds:KeyInfo>
�@�@<CipherData>
�@�@�@�@<CipherValue>DEADBEEF</CipherValue>�@<!--���������������l-->
�@�@</CipherData>
</EncryptedData> |
|
�}7�@XML�Í������Ɍ��J���ŋ��ʌ����Í�������������Y�t |
�@�����ł͈ȉ��̗p���p���邱�Ƃɂ���B
�@Application�FXML����(����)�v�����s���A�v���P�[�V����
�@Encryptor�FXML�����������s�����W���[��
�@Decryptor�FXML�Í����������ꂽXML�f�[�^�����郂�W���[��
�@EncryptedData�܂���EncryptedKey�v�f���\�����邽�߂�Encryptor�͈ȉ��̏������s���B
- �f�[�^�Í����̃A���S���Y����I������
- �����擾���i�����́AURI�Ȃǂ���j�Ads:KeyInfo��K�ɍ\������
���������̂��Í�������Ƃ��ɂ́Ads:KeyInfo �v�f�̎q�v�f�Ƃ���EncryptedKey�v�f��K�ɍ\������
- �f�[�^����������
�Í����Ώۂ̗v�f�i�G�������g�j�܂��͓��e�i�R���e���g�j�i�V���A���C�Y�j���A�I�N�e�b�h��āA�I�������A���S���Y���Ǝ擾�������ł��̃I�N�e�b�h���Í�������
- EncryptedType�iEncryptedData�܂���EncryptedKey�j�\�����\������
�Í������ꂽ�f�[�^��CypherData�v�f��CypherValue�v�f��base64�ŃG���R�[�h���Ċi�[����B�����Í��f�[�^���O���ɒu���ꍇ��URI�ŎQ�Ƃ�����悤�ɂ���
- EncryptedData�̏���
�Í����Ώۂ��G�������g�܂��̓R���e���g�̏ꍇ�AEncryptor��EncryptedData�v�f��Application�ɕԂ��AApplication�������V����XML�����̃g�b�v���x���Ƃ��Ďg�����A�ق���XML�����ɑ}���ł���悤�ɂ���
Application���G�������g�܂��̓R���e���g���w�肵�ĈÍ�����v������ꍇ�ɂ́AEncryptor�͎w�肳�ꂽ�G�������g�܂��̓R���e���g���폜��EncryptedData�v�f�Œu������
�Í����Ώۂ��G�������g�܂��̓R���e���g�łȂ��ꍇ�AEncryptor��EncryptedData�v�f��Application�ɕԂ��AApplication�������V����XML�����̃g�b�v���x���Ƃ��Ďg�����A�ق���XML�����ɑ}���ł���悤�ɂ���
�@EncryptedData�܂���EncryptedKey�v�f�̈Í������ꂽ�f�[�^�����邽�߂�Decryptor�͈ȉ��̏������s���B
- EncryptedData�܂���EncryptedKey�v�f���������A�A���S���Y����KeyInfo�̌���瓾��
- ds:KeyInfo����f�[�^�Í�������B�����f�[�^�Í��������Í�������Ă����ꍇ�A�Ή����錮�����ē���
- CypherData�v�f��CypherValue�ɂ���e�L�X�g��base64�Ńf�R�[�h���A�Í��f�[�^�ăf�[�^�Í������ŕ�������B
- ���������G�������g�܂��̓R���e���g����������
Decryptor�͕�������Type�i�G�������g�܂��̓R���e���g�j�̒l��Applicatio�ɕԂ����A����Application����w�肳�ꂽ��EncryptedData�v�f�������G�������g�܂��̓R���e���g�Œu������B
- Type���w�肳��Ă��Ȃ����A�G�������g��R���e���g�łȂ��ꍇ�̏���
���������f�[�^��Application�ɕԂ��AApplication�����`�������s���B
�@W3C��XML�Í��̎d�l�ɂ͈ȉ��̂悤�ȃA���S���Y�����K�{�Ƃ��Ďw�肳��Ă���B
- �f�[�^��(�u���b�N��)
�@�@3DES-CBC�AAES128-CBC�AAES256-CBC
- ���z�z�A���S���Y���i���J���j
�@�@RSA-PKCSv1.5�ARSA-OAEP
- �����b�v
�@�@CMS 3DES Key Wrap�AAES Key Wrap
- ���b�Z�[�W�E�_�C�W�F�X�g�i�n�b�V�����j
�@�@SHA-1�ASHA256�ASHA512
�@W3C��XML�Í��d�l�ɂ̓f�[�^�Í�������z�z���邽�߂ɗp������J���ɂ��ẮA���ꂪ���������J���ł��邱�Ƃ�O��ɂ��Ă���B�]����XML�Í��̗��p�҂́A���̌��J�������Đ�̐��������J���ł��邱�Ƃ����O�ɒ��ׂĂ����Ȃ���Ȃ�Ȃ��B���Ȃ킿�A���J���ؖ����̗L��������ʓr�s���Ă����K�v������B���̂悤�Ȍ���XML�Í��������s���A�v���P�[�V�������g�ōs��������ɏq�ׂ�XKMS�Ȃǂɏ��������邱�Ƃ��K�v�ł���B
�@�I���W�i����XML��������������XML������XML�Í������邽�߂ɂ́AJava�v���O�����̃A�v���P�[�V�����Ȃǂ�XML�����AXML�Í����ł���c�[���L�b�g���K�v�ł���B���̂悤�ȃc�[���L�b�g��IBM��Entrust�Ȃǂ����Ă���B�����̃c�[���L�b�g�͏��������A�Í���������łȂ��APKI�̊��ƘA����������������Í��̕������s���@�\���܂܂�Ă���B
�@�����Web�T�[�r�X�E�Z�L�����e�B�̊�{�ƂȂ�XML�f�W�^��������XML�Í��ɂ��ďq�ׂ��B�����Web�T�[�r�X�̃��b�Z�[�W���O�ɕK�{��SOAP��XML�Z�L�����e�B�Ō��Ǘ����O���T�[�o�ɔC����XKMS�ɂ��ĉ�����邱�Ƃɂ���B