Name: extern-java-sdk
Owner: Kontur
Description: SDK ??? ?????? ? API ??????.???????? ??? ????????? JVM
Created: 2017-12-08 07:21:10.0
Updated: 2018-03-28 06:58:54.0
Pushed: 2018-04-02 14:39:39.0
Homepage: null
Size: 3979
Language: null
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
[TOC]
???????????? ??? ?????? ?????????? ??????? ?????? ? API ??????.????????, ????????????? ??? ????????? JVM. ??? ????? ?????????? ????????????? ????? ExternEngine, ? ??????? ???????? ???????????? ???????? ?????? ?? ??????? ??????? ??? ??????. ????? ExternEngine ???????? ? ???? ????????? ???????:
??? ???? ????? ??????????????? SDK ????? ????????? ????????? ????:
git clone git@github.com:skbkontur/extern-java-sdk.git
mvn clean install
<dependency>
<groupId>ru.skbkontur.sdk</groupId>
<artifactId>extern-sdk</artifactId>
<version>1.1</version>
</dependency>
. ????????????????
???? ????? ?????? ?????? ? **SDK**, ?????????? ??????? ? ???????????????? ?????? *ExternEngine*. ??? ???????????? ?????????? ??????? ? ???????? ? ??????? ???????????????? ??????? ????????? ??????????:
ServiceBaseUriProvider** ? ????????????? ????? ??????? ? ????????. ????????? ???????????? ?? ???? ??????, ???????????????? ????? getServiceBaseUri ?????????? ServiceBaseUriProvider, ???????????? URI ???????. ? ?????????? ?????? ?? ?????? ???????? ??????-????????? ????: ()->?https://...?;
AccountProvider** ? ????????????? ????????????? ????????, ??????? ?????????? ??? ???????? ?????? ?? ??????. ?????? ????????????? ?????? ? ??????? ?????? ? ??????? ??? ??????. ????????? ???????????? ?? ???? ??????, ???????????????? ????? *accountId* ?????????? *AccountProvider*. ? ?????????? ?????? ?? ?????? ???????? ??????-????????? ????: ()->UUID.fromString("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");
name="apiKey">**ApiKeyProvider**</a> ? ????????????? ?????????????, ??????? ???????? ???????, ?? ???????? ???????????? ??????? ? API ??? ???????. ????????? ???????????? ?? ???? ??????, ???????????????? ????? getApiKey ?????????? ApiKeyProvider. ????? ????? ?? ???? ???????????? ??????-????????? ????: ()->"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
CryptoProvider** ? ????????????? ????????????????? ?????????. ? SDK ???? ??? ??????????:
- ?????????? ??? ?????? ? [MSCapi](https://msdn.microsoft.com/en-us/library/windows/desktop/aa380256.aspx) - ????? *CryptoProviderMSCap*
- ?????????? ??? ?????? ? ????????? ????????????? ??????????????? ?????? ??? ?????? - ????? *CloudCryptoProvider*;
- ?????????? ??? RSA-???????????? *CryptoProviderRSA*.
?????? (MSCAPI) ? ?????? (????????) ?????????? ???????????? ????????????? ??? ?????????? ??????????? ??????? ? ????????????? ????????????? ??????????, ? ?????????????? ?????????? ????. ?????? (RSA) ????????????? ??? ?????????? ????????????????? ?????? ??? ????????????? ??????????????, ? ?????????????? ?????????? RSA;
AuthenticationProvider** ? ????????????? ??????????????. ?????? ??????, ???????????? ? ???????? ??? ??????, ?????? ?????????????? ??????????????? ?????????????????? ??????. ??????????????????? ?????:
?? ?????? ? ??????, ??? ????? ? SDK ???? ????? AuthenticationProviderByPass, ??????????? ????????? *AuthenticationProvider*.
? ??????? ?????????? ????????????? ??????????????, ??? ????? ? SDK ?????????? ????? *TrustedAuthentication*, ???-?? ??????????? ????????? *AuthenticationProvider*.
3.1. ???????????????? ?????????????????
3.1.1. MSCAPI ???????????????
# ??????????
???????? ??? ?????????? ????????????????? ???????? ?? ?????????? ??????? ? ??????? ?????????????????? ???????????????? ? ?????????????? **????**-??????????, ???????? **?????????**. ??? ????????????? ? ?????????? ??????????? ??????? ????????? ????????? ???????? ????????, ?????????? ?????????? ????????? ?????.
# ???????? ? ????????????????
???????? ??????? ?????????? ??????? ??????????? ?????? *CryptoProviderMSCapi*. ?????????? ???????????????? ?? ?????????.
3.1.2. ???????? ???????????????
# ??????????
???????? ??? ?????????? ????????????????? ???????? ?? ??????? ? ?????????????? **????**-??????????. ?????? ?????????? ?????????? ????????????????? ???????? ???????????? ???????.
????????????? ????????: ?????????? ??????? ? ????????????? ??????????? ? ??? ?????:
???? ? ??? ?????? ?? ?????????? ????????;
???? ? ????????????? ???????? ?????????.
????? ????? ?????? ????????? ?????? ? ?????????? ????????????? ???????. ?? ?????? ????? ?????? ??????? ????????????? ???????, ??????? ??? ?????, ? ???-???.
# ???????? ? ????????????
?????? ? ???????? ????????????? ?????????? ??????? ?????? *CloudCryptoProvider* ? ??????? ????????????, ??????? ? ????, ????? ????????? ???????. ??? ??????????? ??????? ?????????? ??????????:
*AuthenticationProvider* ? ????????? ??? ????????? ?????? ??????????????. ?????????? ?????????????? ? ???? ???? ??????? ????.
*ApiKeyProvider* ? ????????? ??? ????????? ?????????????? ???????. [???????? ??. ????](#apiKey).
*CertificateProvider* ? ????????? ???????????? ??? ????????? ?????????? ??????????? ? DER-????????? ?? ??? ????????? ?? ??????????? ????????? ??????? ???????. ?????? ????????? ?????? ???????????????? ????????? ????: `Function<String, byte[]>`.
*ApproveCodeProvider* ? ????????? ???????????? ??? ????????? ???-????, ??????? ???????????? ???????? ???????? ?? ?????????????????? ????? ???????? ???????????. ?????? ????????? ?????? ???????????????? ????????? ????: `Function<String, String>`, ??? ?????????? ???????? ????????????? ???????, ? ???????????? ????????? ? ???-???.
3.1.3. RSA ???????????????
# ??????????
???????? ??? ?????????? ??????????? ??????? ? ?????????????? **RSA**-??????????. ?????? ??????????????? ????? ???? ??????????? ??? ????????????? ??????????????.
# ???????? ? ????????????
?????? ? **RSA** ???????? ?????????? ??????? ?????? ???? *CryptoProviderRSA* ? ??????? ????????????. ??????????? ????????? ?? ???? ?????? ??? ????????? ????????? **JAVA** (**JKS**) ? ?????? ??? ?????????? ?????. ???? ? ???????? ??????? ???????? ???????? **null**, ?? ??? ????? ???????? ??? ??????????. ??? ??????????? ??????? ????? ?????????? ????????? *KeyStoreProvider* ???? **`Supplier<String>`**, ??????? ?????????? ???? ? **JKS**. ?? ????????? ??????????????? ?????????? **java runtime JKS**: `System.getProperty("java.home")+File.separator+"lib"+File.separator+"security"+File.separator+"cacerts"`.
3.2. ???????????????? ????????????????
3.2.1. ?????????????? ?? ?????? ? ??????
?????????????? ?? ?????? ? ?????? ?????????? ??????? ?????? ?????? AuthenticationProviderByPass ? ??????? ????????????. ??????????? ????????? ?????? ?????????:
uthBaseUriProvider* : *UriProvider* ? URI ?????????, ?????????? ????? ??????? ??????????????. ? ?????????? ?????? ????? ???????????? ??????-?????????: `()->"https://...?`;
oginAndPasswordProvider* : *LoginAndPasswordProvider* ? ??????, ??????????? ??????????????? ?????????, ???????????? ????? ? ?????? ???????????? ?? ??????? ???????;
piKeyProvider* : *ApiKeyProvider*. [???????? ??. ????](#apiKey).
3.2.2. ????????????? ??????????????
????????????? ?????????????? ?????????? ??????? ?????? ?????? *TrustedAuthentication* ? ??????? ????????????. ??? ??????????? ??????? ? ??????? ??????????????? ???????? ?????????? ?????????? ????????? ??????????:
piKeyProvider* ? ????????? ??? ????????? ?????????????? ???????????. [???????? ??. ????.](#apiKey)
uthBaseUriProvider* : *UriProvider* ? **URI** ?????????, ?????????? ????? ??????? ??????????????. ? ?????????? ?????? ????? ???????????? ??????-?????????: `()->"https://...?`;
ryptoProvider* ? ????????????? ????????????????? ?????????. ????? ?????????? ???? **MSCAPI** ?????????, ???? **RSA** ???????????????. ??? ???? ????? ????? ???????????? ???????????????????, ?????????? ???????????????? ?????????? ? ??????? ????????????? ??????????????. ??? ????? ?????????? ?????????? ? ??? ??????.
ignatureKeyProvider* ? ????????????? ????????? ??????????? ?????, ? ??????? ???????? ????? ????????????? ????????????????? ?????? ????????? ???????????? (???????????). ? ?????????? ?????? ????? ???????????? ??????-?????????: `()->?XXXXXXXXXXXXXXXXXXXX?`;
erviceUserIdProvider* ? ????????????? ????????????? ????????? ???????????? ?? ??????? ???????. ? ?????????? ?????? ????? ???????????? ??????-?????????: `()->?XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX?`;
redentialProvider* ? ????????????? ????????? ?????? ?????????? ???????????? ?????????????? (?????, ????? ????????) ? ??? ????????. ? ?????????? ?????? ????? ???????????? ??????-?????????:` ()->new Credential(?phone?,?03?)`.