=================================================================== RCS file: /home/cvs/OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw 2004/09/18 11:40:16 1.1 +++ OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw 2004/09/19 12:17:40 1.2 @@ -1,18 +1,19 @@ -$OpenXM$ +$OpenXM: OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw,v 1.1 2004/09/18 11:40:16 takayama Exp $ /*&C + OX-RFC: 104 Nobuki Takayama September 18, 2004 */ -//&en OX-RFC100 over HTTP GET protocol -//&ja HTTP GET protocol $B$GJq$`$3$H$K$h$k(B OX-RFC 100 $B7A<0$NDL?.J}K!(B +//&en OX-RFC100 over HTTP protocol +//&ja HTTP protocol $B$GJq$`$3$H$K$h$k(B OX-RFC 100 $B7A<0$NDL?.J}K!(B /*&C Status of this memo This is an experimental specification of sending OpenXM 100 packets - over http-GET and https-GET. + over http (GET) and https. Distribution of this memo is unlimited. Copyright Notice @@ -20,20 +21,22 @@ Copyright Notice */ +//&ja @@$BMWLs(B +//&en @@Abstract /*&ja -@@$BMWLs(B. - OpenXM 100 $B7A<0$NDL?.$r(B HTTP GET ($B$^$?$O(B POST) $B$G(B wrap $B$9$k$3$H$K$h$j(B, - OpenXM 100 $BBP1~$N%5!<%P$rMF0W$K(B CGI $B%5!<%S%92=$G$-$k(B. - $B$^$?(B OpenXM $B$N%5!<%S%9$r@)8B$5$l$?%M%C%H%o!<%/4D6-$G$b%0%j%C%I2=$7$F$$$/(B - $B$3$H$,2DG=$H$J$k(B. + OpenXM 100 $B7A<0$NDL?.$r(B HTTP GET ($B$^$?$O(B POST) $B$G(B wrap $B$9$kJ}K!$rDj5A(B + $B$9$k(B. $B$3$N(B wrapping $B$K$h$j(B, $Be$2$k$K$O(B "login" $B$9$k$3$H$,0lHL$KI,MW$G$"$k$,(B, - $BITFCDj?M$,0lEY$N$_$N7W;;MxMQ$r$9$k$h$&$J>l9g$K$b(B, $B$^$?(B OpenXM 100 $B$HF1MM$K(B - login $B$7$F(B session $B$r0];}$9$k$3$H$b2DG=$J$h$&$K(B - OpenXM-100 over HTTP GET ($B0J2<(B OoHG $B$HN,5-(B) $B$O@_7W$5$l$F$$$k(B. + OpenXM 100 $B$G$O%5!<%P$rN)$A>e$2$k$K$O(B "login" $B$9$k$3$H$,0lHL$KI,MW$G$"$k(B. + OpenXM-100 over HTTP GET ($B0J2<(B OoHG $B$HN,5-(B) $B$Ol9g$K(B login $BITMW$GF0:n$9$k(B. + 2. OpenXM 100 $B$HF1MM$K(B login $B$7$F(B session $B$r0];}$9$k$3$H$b2DG=$G$"$k(B. - $B$3$N%a%b$G$O(B HTTP GET $B$H(B HTTPS $B$7$+4{B85;=Q$OMxMQ$7$F$$$J$$(B. + $B$3$N%a%b$G$O(B HTTP GET (POST) $B$H(B HTTPS $B$7$+4{B85;=Q$OMxMQ$7$F$$$J$$(B. Web $B5;=Q$K4X$7$F8=:_8&5fCf$de$N$3$H$rN$G$"$k(B. +OoHG $B$G$NDL?.$OAw?.(B, $BN$G$"$k(B. GET $B$rMxMQ$9$k$?$a%G!<%?$N7A<0$O(B RFC 2396 $B$G;XDj$5$l$F$$$k(B $B$$$o$f$k(B URL $B%(%s%3!<%G%#%s%0J}K!$rMQ$$$k(B. GET $B$NMxMQ$NBe$o$j$K(B POST method $B$rMxMQ$7$F$b$h$$(B. -$B%G!<%?$O(B +$BAw?.%G!<%?$O(B $B%-!<%o!<%I(B = $BCM(B $B$r(B & $B$G6h@Z$C$?$b$N$G$"$k(B. $B%-!<%o!<%I$O1Q?t;z$H(B _ $B$r$b$A$$$k$b$N$H$9$k(B. $B%-!<%o!<%I$HCM$NAH$OF~$l;R9=B$$H$J$C$F$b$h$$(B. +$BeB8:_$7$F(B + $B$h$$(B. $B$3$N>l9g(B and $B$H$7$F07$o$l$k(B. $B$?$H$($P(B + oxMessageEncoding=xml_ox100,3DES + $B$N>l9g(B xml_ox100 $B7A<0$N>pJs$,(B 3DES $B$G0E9f2=$5$l$F(B + $BAw$i$l$k(B. ("," $B$O(B URL encoding $B$5$l$k(B.) dataChannelId: data $B%]!<%H$NHV9f$KAjEv(B. controlChannelId: control $B%]!<%H$NHV9f$KAjEv(B. -sessionKey3Des: 64 bit x 3 3Des $BMQ$N(B Des Key. $B%5!<%PB&$,@8@.$7(B, +sessionKeyFor3Des: 64 bit x 3 3Des $BMQ$N(B Des Key. $B%5!<%PB&$,@8@.$7(B, RSA $B$G0E9f2=$5$l%5!<%P$h$jAw?.$5$l$k(B. channelKey: $B%5!<%P$h$j0l$DA0$N(B HTTP $B%H%i%s%:%"%/%7%g%s$GM?$($i$l$k(B $B%-!<(B. $BBh#3(B. 1. presentation_html -loginRSA: RSA $BG'>Z$K$h$k(B login. nextSessionKey $B$O%/%i%$%"%s%H$N(B - public key $B$rMQ$$$FAw?.$5$l$k(B. - RSA $B$K$D$$$F$O(B OX-RFC 103 $B$r8+$h(B. +loginRSA: RSA $BG'>Z$K$h$k(B login. challenge , challenge-response $B$O(B + $B$*8_$$$N(B public key $B$rMQ$$$FAw?.$5$l$k(B. $B2<$NNc;2>H(B. + RSA $B$K$D$$$F$O(B OX-RFC-103 $B$r8+$h(B. logout: logout @@ -149,29 +166,41 @@ nextControlChannelKey: challenge: challenge-response: +$B0J2<$N%-!<%o!<%I$K$D$$$F$O8e=R(B. +doSignature: +response-doSignature: +getMathCap2: +grepDirectoryInfo: +sendPublicKey: + */ +//&ja @@$B;O$a$F$NNc(B +//&en @@The first example /*&ja -@@ $B;O$a$F$NNc(B - $BNc(B1. fctr(x^2-1); $B$r(B fctr.cgi $B$XAw?.$9$k(B. +*/ - http://fctr.openxm.org/fctr.cgi?oxMessageBody=fctr(x%5E2-1)%3B +//&C http://fctr.openxm.org/fctr.cgi?oxMessageBody=fctr(x%5E2-1)%3B +/*&ja oxMessageBody $B0J30$NA4$F$N%-!<%o!<%I$,>JN,$5$l$F$$$k$N$G(B, anonymous, 1 $B2s$N$_$N http://fctr.openxm.org/fctr.cgi?loginRSA="takayama@hoge.org" <--- @@ -179,7 +208,7 @@ RSA $B0E9f2=$5$l$F$kItJ,$O(B ' ... '$B$G5-=R(B. OX100-OVER-HTTP-GET-dataChannelId: 4011 OX100-OVER-HTTP-GET-challenge: '.............' ---> - http://fctr.openxm.org/fctr.cgi?chanllenge-response: '..........' + http://fctr.openxm.org/fctr.cgi?chanllenge-response='..........' <--- OX100-OVER-HTTP-GET-nextChannelKey: 143245 OX100-OVER-HTTP-GET-nextControlChannelKey: 534256 @@ -200,33 +229,197 @@ RSA $B0E9f2=$5$l$F$kItJ,$O(B ' ... '$B$G5-=R(B. http://fctr.openxm.org/fctr.cgi?dataChannelId=4011& channelKey=345137& logout& - */ +//&ja @@$B%(%i!<%3!<%I0lMw(B. + +/*&ja + +HTTP $B=`5r$N%(%i!<$NB>(B, CMO $B%(%i!<(B object $B$r(B responseEncoding $B$K=>$$(B +$BAw$k(B. + +<< $B0J2<$^$@8!F$$7$F$J$$(B >> + +*/ + +//&ja @@$B%3%s%H%m!<%k%W%m%;%9$H$NDL?.(B + /*&ja -@@ $B%(%i!<%3!<%I0lMw(B. +$B@\B3Cf$N(B connection $B$,@ZCG$5$l$?>l9g(B, $B%(%s%8%s(B, $B%3%s%H%m!<%k%5!<%P$H$b$K(B +$B=*N;$9$k(B. +$B%3%s%H%m!<%k%5!<%P$KCfCG%a%C%;!<%8$rAw$C$?>l9g(B, OX-RFC-103 $B$NCfCGF0:n(B +$B$r$*$3$J$&(B. +<< $B0J2<$^$@=q$$$F$J$$(B >> -<< $B$^$@8!F$$7$F$J$$(B >> +*/ +//&ja @@$B%[%9%H$N$J$j$9$^$7$NKI;_(B + +/*&ja + https $B$rMxMQ$9$k>l9g$O%5!<%P$,56J*$G$J$$$3$H$N>ZL@$O(B https $B$N5!G=$rMQ$$$F(B + $Bl9g$K$O(B RSA public $B%-!<$rMQ$$$F%5!<%P$,56J*$G$J$$(B + $B$3$H$r>ZL@$9$k$3$H$,2DG=$G$"$k(B. $B$3$N$?$a$N%-!<%o!<%I$,(B doSignature + $B$G$"$k(B. */ +//&C doSignature=anonymous@fctr.openxm.org,'challenge words encrypted' /*&ja + 'challenge words encrypted' $B$O(B anonymous@fctr.openxm.org $B$N(B public key + $B$rMQ$$$F(B RSA $B0E9f2=$5$l$k(B. $B%5!<%P$O(B response-DoSignature + $B%-!<%o!<%I$rMQ$$$FAw$i$l$?(B words $B$r%/%i%$%"%s%H$KLa$9(B. -@@ $B%3%s%H%m!<%k%W%m%;%9$H$NDL?.(B +*/ -<< $B$^$@=q$$$F$J$$(B >> +//&ja @@OpenXM grid $B$N%5!<%S%90lMwDs6!J}K!(B. +//&en @@Directory service for OpenXM grid. +//&C @@@mathCap2 + +/*&ja + mathCap2 $B$O(B + $B%-!<%o!<%I(B = $BCM(B + $B7A<0$GI=8=$5$l$?(B mathCap $B$G$"$k(B. $B%-!<%o!<%I$O0J2<$N$H$*$j(B. + + systemName + systemVersion + acceptOXtags + acceptSMtags + acceptCMOtags + + exportedCommands + $B(B + [$BL>A0(B,$B0z?t$N?t(B] $B$N%j%9%H$G$"$k(B. $B0z?t$N?t$,(B -1 $B$N>l9g0z?t$OITDj(B. + + resourceLimit + [time,$BCM(B], [memory,$BCM(B] $BEy$N(B $B%j%9%H(B + */ +//&C @@@SM_getMathCap2 +/*&ja +SM_printMathCap2 $B$O$=$N%5!<%P$N(B mathCap2 $B$r(B CMO $B%G!<%?$H$7$FLa$9(B +$B?7$7$$%9%?%C%/%^%7%s%3%^%s%I$G$"$k(B. +$B2?$i$+$N%5!<%S%9$rDs6!$9$k%5!<%P$O(B +*/ +//&C (OX_COMMAND,(SM_getMathCap2)) (OX_COMMAND,(SM_popCMO)) +/*&ja +$B$,l9g(B +$B$b$"$k$N$G(B, (OX_COMMAND,(SM_getMathCap2)) (OX_COMMAND,(SM_popCMO)) +$B$N>JN,7A<0$,(B OoHG $B$N%-!<%o!<%I(B + getMathCap2=1 +$B$H$7$FMQ0U$5$l$F$$$k(B. +*/ +//&C Example: http://fctr.openxm.org/fctr.cgi?getMathCap2=1 + +//&C @@@$B%G%#%l%/%H%j%5!<%S%9(B /*&ja +OpenXM grid $B$N%G%#%l%/%H%j%5!<%S%9$O3F%5!<%P$N(B mathCap2 $B$N>pJs$r$b$H$K(B +$B$7$F$$$k(B. $B?.MQ$N$*$1$k%G%#%l%/%H%j%5!<%S%9$r$5$l$?(B mathCap2 $B>pJs$rF@$k$3$H$,2DG=$H$J$k(B. -@@ OpenXM grid $B$N%5!<%S%90lMwDs6!J}K!(B. +OpenXM grid $B$N%G%#%l%/%H%j>pJs$O(B + $B%-!<%o!<%I(B=$BCM(B +$B$N=89gBN$G$"$k(B. +$B$3$N>pJs$O> +$BI,?\$N%-!<%o!<%I(B + OpenXMnodeURL, mathCap2, listOfAnonymousPublicKeys +OpenXM directory $B%5!<%P$O$3$l$i$N>pJs$r8!:w$7$FJVEz$9$k(B. +Directory $B%5!<%P$b$^$?(B OpenXM $B%(%s%8%s$G$"$k(B. +grep $B8!:w$O0J2<$N$H$*$j(B. + (OX_DATA,(CMO_STRING,"key words")) + (OX_DATA,(CMO_INT32,1)) + (OX_DATA,(CMO_STRING,"ox104_grepDirectoryInfo")) + (OX_COMMAND,(SM_execute)) + (XO_COMMAND,(SM_popCMO)) +$BF1Ey$J5!G=$rpJs8;$+$iF~> + +*/ + +//&ja @@$B6&DL4X?tL>(B +//&en @@Common name of functions + +/*&ja + +$BL>A0(B $B0z?t$N?t(B +ox104_equal 2 +ox104_add 2 +ox104_sub 2 +ox104_times 2 +ox104_divide 2 +ox104_power 2 +ox104_inverse 1 +ox104_translate 2 + +*/ + + +//&ja @@$B4XO"$9$k5;=Q(B +//&en @@Related technologies + +/*&ja + + IAMC (symbolicnet.org) + +*/ + +//&ja @@$B9W8%