锘??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕亚洲精品无码,亚洲国产精品日韩在线观看,亚洲精品视频免费在线观看http://m.tkk7.com/bluepluto/category/54284.htmlzh-cnMon, 13 Jul 2015 23:23:48 GMTMon, 13 Jul 2015 23:23:48 GMT60Keystore 鐩稿叧鐨勪竴浜涙蹇?/title><link>http://m.tkk7.com/bluepluto/archive/2015/06/07/425540.html</link><dc:creator>涓鐩村湪鍔姏 !</dc:creator><author>涓鐩村湪鍔姏 !</author><pubDate>Sun, 07 Jun 2015 06:16:00 GMT</pubDate><guid>http://m.tkk7.com/bluepluto/archive/2015/06/07/425540.html</guid><wfw:comment>http://m.tkk7.com/bluepluto/comments/425540.html</wfw:comment><comments>http://m.tkk7.com/bluepluto/archive/2015/06/07/425540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/bluepluto/comments/commentRss/425540.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/bluepluto/services/trackbacks/425540.html</trackback:ping><description><![CDATA[鎶婁竴浜涘父瑙佺殑 Key 鐩稿叧鐨勫唴瀹瑰垪鍦ㄨ繖錛屼究浜庝箣鍚庣悊瑙c?br /><br />1. JKS (Java KeyStore) 鍜?PFX (pkcs12) 閮芥槸甯歌鐨勫瘑閽ュ簱鐨勬牸寮忥紝鐢ㄤ簬淇濆瓨瀹屾暣鐨勮瘉涔﹀瘑閽ュ,璇佷功閾懼拰淇′換璇佷功淇℃伅錛屽墠鑰呮槸 Sun 鍒跺畾鐨勶紝閫傜敤浜?Java 涓栫晫錛屾瘮濡?Tomcat錛孏eronimo錛學(xué)ebsphere 絳夛紝鍚庤?鎹"甯哥敤浜?IIS 錛堟病閰嶇疆榪? 絳夈侸KS 鐩稿叧鐨勫伐鍏鋒槸 JDK 甯︾殑 keytool錛孭FX 鍙互浣跨敤 openssl銆?br /><br />2. JKS 涓湁瀛樻斁鐨勫唴瀹瑰父瑙佹湁涓ょ被錛屼竴涓槸 PrivateKeyEntry, 鍖呭惈浜嗗畬鏁寸殑璇佷功瀵嗛挜瀵癸紝璇佷功閾劇瓑淇℃伅錛屽彟澶栦竴涓槸 trustedCertEntry, 鍖呭惈鍙椾俊鍏挜淇℃伅銆傚彲浠ヤ嬌鐢?keytool -list -keystore 鏄劇ず銆?br /><br />3. 涓鑸嬌鐢ㄥ伐鍏風(fēng)敓鎴?RSA 闈炲縐板瘑閽ュ涔嬪悗錛岃繕浼?xì)鐢苯W笁鏂規(guī)満鏋?(CA) 鐢熸垚絳懼悕錛岀敤浜庢爣璇嗗瘑閽ユ墍鏈夎呯殑韜喚錛屾墍浠ラ氬父鎴戜滑浼?xì)璇村Q屾垜浠皢璇佷功涓嬪彂緇欏鎴風(fēng)錛屾鏃剁殑璇佷功鍖呮嫭濡備笅淇℃伅錛屽叕閽ワ紝絳懼悕淇℃伅絳夈?br /><br />4. 浣跨敤 JKS 瀛樺偍淇℃伅鏃訛紝鐢變簬 Keystore 涓彲浠ュ瓨鏀懼涓瘑閽ヤ俊鎭紝鎵浠ラ氳繃浼?xì)鋴社?alias 鏍囪瘑錛岄渶瑕佷嬌鐢ㄦ椂錛岄渶瑕佹寚瀹氬埆鍚嶃傚彟澶栵紝Keystore 鏈韓鍙互浣跨敤 storepassword 淇濇姢錛岃岄拡瀵規(guī)瘡涓涓?key錛屼篃鍙互鏄嬌鐢?keypassword 淇濇姢銆?br /><br />5. keytool 鏀寔瀵煎叆鍏挜鍜屽叾浠?keystore錛屾殏涓嶆敮鎸佸鍏?PrivateKeyEntry錛屾鏃惰嫢鎵嬩腑鏈夌閽ュ拰璇佷功涓や釜淇℃伅錛屽彧鑳藉厛鍊掑叆鍒?PFX 涓紝鍐嶅鍏ュ埌 JKS 涓?br /><br />openssl pkcs12 -export -in [my_certificate.crt] -inkey [my_key.key] <br />-out [keystore.p12] -name [new_alias] -CAfile [my_ca_bundle.crt] -caname<br /> root<br /><br />keytool -importkeystore -deststorepass [new_keystore_pass] <br />-destkeypass [new_key_pass] -destkeystore [keystore.jks] -srckeystore <br />[keystore.p12] -srcstoretype PKCS12 -srcstorepass <br />[pass_used_in_p12_keystore] -alias [alias_used_in_p12_keystore]<br /><br />6. JAR 絳懼悕錛屼富瑕佹槸鍦?META-INF 鐩綍涓嬶紝闄や簡 MANIFEST.MF 涔嬪錛岃繕鏈?*.SF 鍜?*.RSA 鏂囦歡 錛堝悗緙闅忕鍚嶄嬌鐢ㄧ殑綆楁硶浼?xì)鐣ユ湁涓嶅?, MF 淇濆瓨浜?JAR 涓瘡涓枃浠剁殑鏁e垪淇℃伅錛屼竴鑸嬌鐢?MD5 鎴栬?SHA-1<br />Name: AndroidManifest.xml<br />SHA-256-Digest: vn9XTNvoXBMgbaxUqDoc4WUsWseMfRCQQRSR87+F/Hc=<br /><br />SF 鏂囦歡浣跨敤 RSAwithSHA1, 閽堝 MF 涓殑姣忔潯淇℃伅鍐嶆鐢熸垚絳懼悕淇℃伅錛屽彟澶栭拡瀵規(guī)暣涓?MF 涔熶細(xì)鐢熸垚絳懼悕淇℃伅銆?br />Name: AndroidManifest.xml<br />SHA-256-Digest: Pa/g6cA3KpnfBvCD/mgnyczjfLCSkAv2l9A+EVxaJlg=<br /><br />RSA 涓槸鍓嶈堪絳懼悕鎵鐢ㄨ瘉涔︾瓑鐩稿叧淇℃伅<br /><br />閫氬父鎴戜滑鍦ㄨ鍙?Jar 鏂囦歡鐨勬瘡涓?Entry 鏃訛紝濡傛灉 META-INF 鐩綍涓嬫湁濡備笂鏂囦歡錛屼細(xì)鍋氱鍚嶉獙璇侊紝鍥犱負(fù)鏁e垪淇℃伅璁$畻闇瑕佽鍙栨枃浠跺唴瀹癸紝鎵鐢ㄥ湪璋冪敤 getCertifcate 鏂規(guī)硶鏃訛紝闇瑕佽涓涓嬫祦閲岄潰鐨勫唴瀹癸紝濡傛灉鍙槸楠岃瘉鐨勭洰鐨勶紝璇誨彇鐩存帴蹇界暐鍗沖彲錛岃冭檻璇誨彇鎬ц兘錛屽彲浠ユ寚瀹?byte[] buffer 鐨勫ぇ灝忥紝浣跨敤嫻佺殑 skip 鏂規(guī)硶鏃訛紝鍐呴儴 ZipInputStream 涓嬌鐢ㄧ殑鏄?<br />private byte[] tmpbuf = new byte[512];<br /><br />7. 涓鑸岃█錛岃瘉涔︽湁涓ょ甯歌鐢ㄩ旓紝涓鏄敤浜庝紶杈撳姞瀵嗭紝涓昏鏄?SSL錛屽彟澶栦竴涓鏂囦歡榪涜絳懼悕錛屾瘮濡?JarFile 鐩稿叧錛岃?CA 棰佸彂璇佷功鏃訛紝浼?xì)鍦ㄨ瘉涔︿腑鎸囧畾鍏剁敤閫旓紝浠庣洰鍓嶇湅錛屼互涓婁袱縐嶄笉浼?xì)鍚屾椂鐢熸晥锛屽崒檵ユ璇佷功澹版槑湄?fù)鐢ㄤ簬 SSL錛屽垯鏃犳硶鐢ㄤ簬瀵?JarFile 榪涜絳懼悕錛屽疄闄呬嬌鐢ㄤ細(xì)鍙戠幇 JarSign 鏃舵湭鏄劇ず閿欒錛屼絾閫氳繃 JarEntry 鑾峰彇璇佷功鏃朵竴鐩翠負(fù)絀恒?img src ="http://m.tkk7.com/bluepluto/aggbug/425540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/bluepluto/" target="_blank">涓鐩村湪鍔姏 !</a> 2015-06-07 14:16 <a href="http://m.tkk7.com/bluepluto/archive/2015/06/07/425540.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>OAuth 2.0 Noteshttp://m.tkk7.com/bluepluto/archive/2014/04/08/412118.html涓鐩村湪鍔姏 !涓鐩村湪鍔姏 !Tue, 08 Apr 2014 15:43:00 GMThttp://m.tkk7.com/bluepluto/archive/2014/04/08/412118.htmlhttp://m.tkk7.com/bluepluto/comments/412118.htmlhttp://m.tkk7.com/bluepluto/archive/2014/04/08/412118.html#Feedback0http://m.tkk7.com/bluepluto/comments/commentRss/412118.htmlhttp://m.tkk7.com/bluepluto/services/trackbacks/412118.html
[1] http://blog.gopivotal.com/cloud-foundry-pivotal/products/open-standards-in-cloud-foundry-identity-services
[2] http://tutorials.jenkov.com/oauth2/index.html

Summary
Authorization Code 鏂瑰紡鏄渶瀹屾暣鐨? Client Application 浼?xì)琚噸瀹氬悜鍒?OAuth Server 鐧誨綍騫跺悓鎰忔巿鏉? 涔嬪悗鍐嶈繑鍥炰笟鍔$郴緇? 涓氬姟緋葷粺閫氳繃 Authorization Code 鍦?OAuth Server 澶勮幏鍙栬闂渶緇?Resource Server 鐨?Access Token
Implicit 涓?Authorization Code 澶т綋綾諱技, 鍙槸灝戜簡鐢?Auhtorization Code 鑾峰彇 AccessToken 鐨勬楠?br />Resource Owner 鏂瑰紡鏄鎴風(fēng)▼搴忕煡閬撶敤鎴峰悕鍜屽瘑鐮? 璁よ瘉鏃惰繛鍚岃嚜韜殑 Client ID 鍜屽瘑鐮佷竴璧峰彂閫佸埌 OAuth Server, 姣斿 CF Java 瀹㈡埛绔氨鏄嬌鐢ㄨ繖縐嶆柟寮?br />Client Credentials 鏄?Client Application 鏈韓灝辯被浼間簬 Resource Owner


1. OAuth Client 棣栧厛闇瑕佸湪 OAuth Server 娉ㄥ唽, 闇瑕佹彁渚涗竴涓?Redirect URL, 騫朵粠 OAuth Server 鑾峰彇 Client ID 鍜?Client 瀵嗙爜
2. 鍩烘湰嫻佺▼
    a. 鐢ㄦ埛璁塊棶瀹㈡埛绔簲鐢ㄧ▼搴?br />    b. 瀹㈡埛绔簲鐢ㄩ噸瀹氬悜鍒?OAuth Server
    c. 鐢ㄦ埛杈撳叆鐢ㄦ埛鍚嶅拰瀵嗙爜鐧誨綍, OAuth Server 鎵ц瀹?Authentication 鍚? 浼?xì)鎻惤C虹敤鎴鋒槸鍚﹀厑璁歌闂暟鎹?br />    d. OAuth Server 浣跨敤娉ㄥ唽鐨勯噸瀹氬悜 URL, 鐢ㄦ埛鍐嶆琚畾鍚戝埌瀹㈡埛绔簲鐢ㄧ▼搴? 姝ゆ椂 URL 浼?xì)鍖呭?Authentication Code
    e. 瀹㈡埛绔簲鐢ㄧ▼搴忔帴鏀跺埌璇鋒眰鍚? 浣跨敤 Authentication Code/Client ID/Client Password 璁塊棶 OAuth Server 鑾峰彇 Access Token
    
3. OAuth 涓洓涓鑹?br />    a. Resource Owner : One person or one application
    b. Resource Server
    c. Client Application
    d. Authorization Server
    * b 鍜?d 鍙互鍦ㄤ竴璧? OAuth 瑙勮寖鏈綔璇︾粏瑙勫畾, 鍏朵箣闂村浣曚氦浜掍篃鏃犺瀹?br />    
4. OAuth Client 綾誨瀷
    a. Confidential
    b. Public
    OAuth 瀹㈡埛绔渶瑕佹寔鐢?Client ID 鍜?Client Password, 涓ょ綾誨瀷鐨勫尯鍒湪浜? 絎笁鏂規(guī)槸鍚﹀彲浠ラ氳繃鏌愮鏂瑰紡鑾峰彇璇ヤ俊鎭?

5. Client Profile
    a. Web Application 鎸囪繍琛屽湪 Web 鏈嶅姟鍣ㄤ笂鐨?Web 搴旂敤, 瀹為檯鍦烘櫙涓? 榪樺彲鑳藉寘鍚鎴風(fēng)嫻忚鍣?nbsp;      
    b. User Agent 姣斿榪愯鍦ㄦ祻瑙堝櫒涓殑 JavaScript 搴旂敤
    c. Native 姣斿妗岄潰搴旂敤鎴栬呯Щ鍔ㄦ墜鏈哄簲鐢?br />    
6. OAuth 2.0 Authorization
    a. 娉ㄥ唽鍒?OAuth 鏈嶅姟鍣? 涓鑸墽琛屼竴嬈? Client Application 浼?xì)鑾峰彇鍒嗛厤鐨?Client ID 鍜?Client Password. 娉ㄥ唽榪囩▼涓? Client Application 闇瑕佹彁渚?Redirect URI
    This redirect URI is used when a resource owner grants authorization to the client application. When a resource owner has successfully authorized the client application via the authorization server, the resource owner is redirected back to the client application, to the redirect URI.
    b. 鏃犺浣曟椂 Client Application 璇鋒眰 Resource Server 涓婄殑璧勬簮鏃? Client Application 閮介渶瑕佸埌 OAuth Server 澶勪嬌鐢?ID 鍜?瀵嗙爜鎵ц璁よ瘉
    
7. Authorization Grant 鎸?Resource Owner 鎺堜簣 Client Application. OAuth 2.0 瀹氫箟浜嗗浣曠被鍨?:
    a. Authorization Code
    b. Implicit
    c. Resource Owner Password Credentials
    d. Client Credentials
    
8. Authorization Code
    a. 褰?Client Application 閲嶅畾鍚戝埌 OAuth Server 鏃? Client ID 涔熶細(xì)琚紶閫掕繃鍘? 榪欐牱 Authorization Server 鍙互鐭ラ亾鍝釜搴旂敤 (Client Application) 璇曞浘璁塊棶鍙椾繚鎶よ祫婧?br />    b. 褰撶敤鎴鋒垚鍔熺櫥褰曞茍鎺堟潈璁塊棶鍚? OAuth Server 浼?xì)鋴社?Client Application 娉ㄥ唽鏃舵彁渚涚殑 Redirect URI, 鍚屾椂鍖呭惈 Authentication Code.
    c. Client Application 浣跨敤 Authentication Code, Client ID 鍜?Client Password 鐩存帴璁塊棶 Authorization Server, 騫惰繃鍘?Access Token. Access Token 浠h〃 Client Application 閫氳繃璁よ瘉鍜屾巿鏉冭闂繚鎶よ祫婧? (The access token serves as both authentication of the client, and authorization to access the resources. )
    
9. Implicit 涓?Authentication Code 宸ヤ綔鏂瑰紡綾諱技, 鍖哄埆鍦ㄤ簬閲嶅畾鍚戞椂, Access Token 琚寘鍚湪鍐?
    a. An implicit authorization grant is similar to an authorization code grant, except the access token is returned to the client application already after the user has finished the authorization. The access token is thus returned when the user agent is redirected to the redirect URI.
    b. This of course means that the access token is accessible in the user agent, or native application participating in the implicit authorization grant. The access token is not stored securely on a web server.
    c. Furthermore, the client application can only send its client ID to the authorization server. If the client were to send its client secret too, the client secret would have to be stored in the user agent or native application too. That would make it vulnerable to hacking.
    d. Implicit authorization grant is mostly used in a user agent or native client application. The user agent or native application would receive the access token from the authorization server.
    
10. Resource Owner Password Credentials 絳変環(huán)浜? 鐢ㄦ埛 (Resource Owner) 鎶婄敤鎴峰悕瀵嗙爜鍛婅瘔 Client Application, 鐒跺悗 Client Application 鐩存帴浣跨敤鐢ㄦ埛鍚嶅拰瀵嗙爜璁塊棶 Resource Server
     a. The resource owner password credentials authorization grant method works by giving the client application access to the resource owners credentials. For instance, a user could type his Twitter user name and password (credentials) into the client application. The client application could then use the user name and password to access resources in Twitter.
     b. Using the resource owner password credentials requires a lot of trust in the client application. You do not want to type your credentials into an application you suspect might abuse it.
     c. The resource owner password credentials would normally be used by user agent client applications, or native client applications.

11. Client Credentials 浣跨敤 Client Application 闇瑕佽皟鐢?Resource Server 鎻愪緵鐨勪竴浜涘姛鑳? 浣嗚繖浜涘姛鑳戒笉鍜屼換浣?Resource Owner 鐩稿叧
      Client credential authorization is for the situations where the client application needs to access resources or call functions in the resource server, which are not related to a specific resource owner (e.g. user). For instance, obtaining a list of venues from Foursquare. This does not necessary have anything to do with a specific Foursquare user.
      
12. OAuth 2.0 Endpoints
    a. Authorization Endpoint
        The authorization endpoint is the endpoint on the authorization server where the resource owner logs in, and grants authorization to the client application.
    b. Token Endpoint
        The token endpoint is the endpoint on the authorization server where the client application exchanges the authorization code, client ID and client secret, for an access token.
    c. Redirection Endpoint
         The redirect endpoint is the endpoint in the client application where the resource owner is redirected to, after having granted authorization at the authorization endpoint.
    
    a 鍜?b 浣嶄簬 Authorization Server 涓? c 浣嶄簬瀹㈡埛绔簲鐢ㄧ▼搴忎笂
    
13. Authorization Code Grant Requests/Responses
    a. Authorization Request
        a1. response_type     Required. Must be set to code
        a2. client_id     Required. The client identifier as assigned by the authorization server, when the client was registered.
        a3. redirect_uri     Optional. The redirect URI registered by the client.
        a4. scope     Optional. The possible scope of the request.
        a5. state     Optional (recommended). Any client state that needs to be passed on to the client request URI.
    b. Authorization Response
         The authorization response contains the authorization code needed to obtain an access token. Here are the parameters included in the response:
         b1. code     Required. The authorization code.
         b2. state     Required, if present in request. The same value as sent by the client in the state parameter, if any.
    c. Authorization Error Response
          If an error occurs during authorization, two situations can occur.
          The first is, that the client is not authenticated or recognized. For instance, a wrong redirect URI was sent in the request. In that case the authorization server must not redirect the resource owner to the redirect URI. Instead it should inform the resource owner of the error.
          The second situation is that client is authenticated correctly, but that something else failed. In that case the following error response is sent to the client, included in the redirect URI:
          c1. error     Required. Must be one of a set of predefined error codes. See the specification for the codes and their meaning.
          c2. error_description     Optional. A human-readable UTF-8 encoded text describing the error. Intended for a developer, not an end user.
          c3. error_uri     Optional. A URI pointing to a human-readable web page with information about the error.
          c4. state     Required, if present in authorization request. The same value as sent in the state parameter in the request.         
    d. Token Request
         Once an authorization code is obtained, the client can use that code to obtain an access token. Here is the access token request parameters:
         d1. grant_type     Required. Must be set to authorization_code .
         d2. code     Required. The authorization code received by the authorization server.
         d3. redirect_uri     Required, if the request URI was included in the authorization request. Must be identical then.        
    e. Token Response
          The response to the access token request is a JSON string containing the access token plus some more information:

            { "access_token"  : "...",
              "token_type"    : "...",
              "expires_in"    : "...",
              "refresh_token" : "...",
            }

        e1. The access_token property is the access token as assigned by the authorization server.
        e2. The token_type property is a type of token assigned by the authorization server.
        e3. The expires_in property is a number of seconds after which the access token expires, and is no longer valid. Expiration of access tokens is optional.
        e4. The refresh_token property contains a refresh token in case the access token can expire. The refresh token is used to obtain a new access token once the one returned in this response is no longer valid.  
        
14. Implicit Grant Request
     a. The implicit grant request contains the following parameters:
        a1. response_type     Required. Must be set to token .
        a2. client_id     Required. The client identifier as assigned by the authorization server, when the client was registered.
        a3. redirect_uri     Optional. The redirect URI registered by the client.
        a4. scope     Optional. The possible scope of the request.
        a5. state     Optional (recommended). Any client state that needs to be passed on to the client request URI.

     b.Implicit Grant Response
        The implicit grant response contains the following parameters. Note, that the implicit grant response is not JSON.
        b1. access_token     Required. The access token assigned by the authorization server.
        b2. token_type     Required. The type of the token
        b3. expires_in     Recommended. A number of seconds after which the access token expires.
        b4. scope     Optional. The scope of the access token.
        b5. state     Required, if present in the autorization request. Must be same value as state parameter in request.

    c. Implicit Grant Error Response

        If an error occurs during authorization, two situations can occur.
        
        The first is, that the client is not authenticated or recognized. For instance, a wrong redirect URI was sent in the request. In that case the authorization server must not redirect the resource owner to the redirect URI. Instead it should inform the resource owner of the error.

        The second situation is that client is okay, but that something else happened. In that case the following error response is sent to the client, included in the redirect URI:
        c1. error     Required. Must be one of a set of predefined error codes. See the specification for the codes and their meaning.
        c2. error_description     Optional. A human-readable UTF-8 encoded text describing the error. Intended for a developer, not an end user.
        c3. error_uri     Optional. A URI pointing to a human-readable web page with information about the error.
        c4. state     Required, if present in authorization request. The same value as sent in the state parameter in the request.

15. Credentials Grant - Requests and Response
    a. Resource Owner Password Credentials Grant Request
        The request contains the following parameters:
        a1. grant_type     Required. Must be set to password
        a2. username     Required. The username of the resource owner, UTF-8 encoded.
        a3. password     Required. The password of the resource owner, UTF-8 encoded.
        a4. scope     Optional. The scope of the authorization.

    b. Resource Owner Password Credentials Grant Response
        The response is a JSON structure containing the access token. The JSON structure looks like this:

        { "access_token"  : "...",
          "token_type"    : "...",
          "expires_in"    : "...",
          "refresh_token" : "...",
        }

        b1. The access_token property is the access token as assigned by the authorization server.
        b2. The token_type property is a type of token assigned by the authorization server.
        b3. The expires_in property is a number of seconds after which the access token expires, and is no longer valid. Expiration of access tokens is optional.
        b4. The refresh_token property contains a refresh token in case the access token can expire. The refresh token is used to obtain a new access token once the one returned in this response is no longer valid.

16. Client Credentials Grant - Requests and Response
     a. The client credentials grant request contains the following parameters:
        a1. grant_type     Required. Must be set to client_credentials .
        a2. scope     Optional. The scope of the authorization.
        
    b. Client Credentials Grant Response
        The client credentials response contains the following parameters:

        { "access_token"  : "...",
          "token_type"    : "...",
          "expires_in"    : "...",
        }

        b1. The access_token property is the access token as assigned by the authorization server.
        b2. The token_type property is a type of token assigned by the authorization server.
        b3. The expires_in property is a number of seconds after which the access token expires, and is no longer valid. Expiration of access tokens is optional.

        A refresh token should not be included for this type of authorization request.        


]]>
主站蜘蛛池模板: 亚洲综合图片小说区热久久| 亚洲成av人片一区二区三区| 一区二区免费视频| 久别的草原电视剧免费观看| 国产乱码免费卡1卡二卡3卡| 毛色毛片免费观看| 中文亚洲AV片在线观看不卡| 久久精品国产亚洲av麻豆小说| 亚洲一卡2卡三卡4卡无卡下载| 污污免费在线观看| 一个人免费日韩不卡视频| 国产亚洲综合成人91精品 | 久久精品国产亚洲沈樵| 亚洲成a人片在线观看中文app| 男男gay做爽爽的视频免费| 99久久99久久精品免费观看| 啊灬啊灬别停啊灬用力啊免费看| 亚洲日韩中文字幕日韩在线| 亚洲国产品综合人成综合网站| h视频免费高清在线观看| 37pao成人国产永久免费视频| 免费不卡中文字幕在线| 国产精品成人免费观看| 久久久久久久久亚洲| 日韩色日韩视频亚洲网站| 曰批全过程免费视频网址| 亚洲人成77777在线播放网站不卡| 中文字幕免费在线看电影大全 | 无人在线观看免费高清| 亚洲乱人伦精品图片| 午夜爱爱免费视频| 久久99亚洲网美利坚合众国| 一区二区无码免费视频网站| 阿v视频免费在线观看| 大学生a级毛片免费观看| 一级做a爱片特黄在线观看免费看| 国产又大又长又粗又硬的免费视频 | 深夜A级毛片视频免费| 国产亚洲AV无码AV男人的天堂| 2021精品国产品免费观看| 香蕉视频免费在线|