skbkontur/extern-java-sdk

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

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

SDK ??? ?????? ? API ??????.???????? ??? ????????? JVM

[TOC]

1. ??????????

???????????? ??? ?????? ?????????? ??????? ?????? ? API ??????.????????, ????????????? ??? ????????? JVM. ??? ????? ?????????? ????????????? ????? ExternEngine, ? ??????? ???????? ???????????? ???????? ?????? ?? ??????? ??????? ??? ??????. ????? ExternEngine ???????? ? ???? ????????? ???????:

2. ??????????? SDK ? ???????

??? ???? ????? ??????????????? SDK ????? ????????? ????????? ????:

git clone git@github.com:skbkontur/extern-java-sdk.git

mvn clean install

. ????????????????
???? ????? ?????? ?????? ? **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?)`.

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.